Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT
Nelle ultime settimane abbiamo provato tre delle proposte top di gamma di NZXT nelle categorie case, dissipatori e ventole. Rispettivamente, parliamo dell'H9 Flow RGB+, Kraken Elite 420 e F140X. Si tratta, chiaramente, di prodotti di fascia alta che si rivolgono agli utenti DIY che desiderano il massimo per la propria build. Tuttavia, mentre i primi due dispositivi mantengono questa direzione, le ventole purtroppo hanno mostrato qualche tallone d'Achille di troppo
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz
ASUS ROG Swift OLED PG34WCDN è il primo monitor gaming con pannello QD-OLED Gen 5 a layout RGB Stripe Pixel e 360 Hz su 34 pollici: lo abbiamo misurato con sonde colorimetriche e NVIDIA LDAT. Ecco tutti i dati
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico
Nothing Phone (4a) Pro cambia pelle: l'alluminio unibody sostituisce la trasparenza integrale, portando una solidità inedita. Sotto il cofano troviamo uno Snapdragon 7 Gen 4 che spinge forte, mentre il display è quasi da top dig amma. Con un teleobiettivo 3.5x e la Glyph Matrix evoluta, è la prova di maturità di Carl Pei. C'è qualche compromesso, ma a 499EUR la sostanza hardware e la sua unicità lo rendono un buon "flagship killer" in salsa 2026
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-03-2008, 13:01   #1
amedeoviscido
Senior Member
 
Iscritto dal: May 2005
Città: Napoli - Fuorigrotta
Messaggi: 471
[SQL] Cercare valori in tabella con chiave "simile"

Ciao, ho un problema che ho già risolto, ma vorrei da voi un consiglio.
Il problema è individuare le righe che hanno parte della chiave in comune. Supponiamo di avere la tabella PROVA(ID) con ID chiave primaria.
Ho bisogno di trovare le righe tali che ID della 1° riga sia inserito IN FONDO alla 2° riga. In pratica, facciamo un esempio:

PROVA
1234567890
12345
67890

Mi deve trovare 67890 unitamente al riferimento 1234567890.

Io ho risolto così (PostgreSQL):

SELECT B.id, A.id FROM prova A, prova B WHERE A.id<>B.id AND strpos(A.id,B.id)>0

Ovvero con strpos, controllo che l'ID di B faccia parte dell'ID di A.
Tutto ok direte voi: non proprio direi io.
Con 5000 righe ci impiega 1 minuto, non sarebbe un problema, se non per il fatto che per fare un report ne deve fare a centinaia di queste query!
Io prima facevo semplicemente:

SELECT A.id,B.id FROM prova A JOIN prova B ON A.id=B.id
E ci metteva 15 ms. Il problema è che adesso le chiavi sono fatte in modo tale che se una finisce come l'altra allora deve trovare la "primaria".
__________________
Acquisti sul mercatino: grabrihc, LucaXbox360, Yarsha,micanto1,American horizo,Fnac,schumyFast,STECCO,Ezechiele25,17
Vendite sul mercatino: musodatopo,alexbands,mspr,anto.wajo
amedeoviscido è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2008, 14:07   #2
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Io farei cosi':

Codice:
SELECT A.ID,B.ID FROM prova A,prova B WHERE A.id<>B.id
   AND length(A.ID)>=length(B.ID)
   AND SUBSTR(A.ID,length(A.ID)-Length(B.ID),length(B.ID))=B.ID
Ovvero come prima, ma come filtro anche
ma solo per i record di A la cui ultima parte di A.ID, lunga quanto B.ID, sia esattamente uguale a B.ID

(la clausola sulle lunghezze sarebbe da leggersi come:
ma solo tra le righe che hanno la lunghezza di A.ID >= alla lunghezza di B.ID,
altrimenti potrebbero effetti indesiderati a seconda del implementazione della SUBSTR su Postgres, in presenza di un indice di partenza negativo)

forse addirittura si puo' fare cosi':
Codice:
SELECT A.ID,B.ID FROM prova A,prova B WHERE A.id<>B.id
   AND length(A.ID)>=length(B.ID)
   AND SUBSTR(A.ID,length(A.ID)-Length(B.ID))=B.ID
Sperando che la Substring abbia il significato di "fino alla fine della stringa" quando non c'e' il terzo parametro
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 07-03-2008, 23:42   #3
amedeoviscido
Senior Member
 
Iscritto dal: May 2005
Città: Napoli - Fuorigrotta
Messaggi: 471
Grazie per la risposta, domani faccio delle prove in ufficio (cronometrate) e ti faccio sapere, sarai curioso!
In effetti controllare la posizione di una stringa all'interno di un'altra è meno efficiente che il confronto diretto di due stringhe, a rigor di logica dovrebbe essere più veloce, vedremo!
__________________
Acquisti sul mercatino: grabrihc, LucaXbox360, Yarsha,micanto1,American horizo,Fnac,schumyFast,STECCO,Ezechiele25,17
Vendite sul mercatino: musodatopo,alexbands,mspr,anto.wajo

Ultima modifica di amedeoviscido : 07-03-2008 alle 23:47.
amedeoviscido è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
ASUS ROG Swift OLED PG34WCDN recensione: il primo QD-OLED RGB da 360 Hz ASUS ROG Swift OLED PG34WCDN recensione: il prim...
Recensione Nothing Phone (4a) Pro: finalmente in alluminio, ma dal design sempre unico Recensione Nothing Phone (4a) Pro: finalmente in...
WoW: Midnight, Blizzard mette il primo, storico mattone per l'housing e molto altro WoW: Midnight, Blizzard mette il primo, storico ...
Ecovacs Goat O1200 LiDAR Pro: la prova del robot tagliaerba con tagliabordi integrato Ecovacs Goat O1200 LiDAR Pro: la prova del robot...
Call of Duty: Modern Warfare 4 l'uscita ...
Mega risparmi su Amazon Haul fino a mezz...
Il Blu-ray è davvero morto? Due a...
OpenAI punta sulla pubblicità in ...
Gmail, arriva la crittografia end-to-end...
Molotov contro la casa di Altman: il CEO...
Tesla ottiene l'approvazione del sistema...
Monopattini elettrici: il MIT rassicura ...
Roborock Saros 20 va subito in offerta: ...
Epic Games lavora ad un gioco sparatutto...
Rockstar Games vittima di un attacco hac...
Intel Core Ultra 400 'Nova Lake-S': fino...
Finalmente un bel portatile tuttofare a ...
Accessori auto su Amazon: i migliori asp...
Microsoft promette meno caos fra i canal...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:13.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v