PDA

Visualizza la versione completa : [SQL - ORACLE] Smaltire tempi SQL select query


htmlman
21-12-2004, 10:04
Ciao,
Ho delle select Query lunghissime, che ci mettono 20 secondi ciascuna a darmi un risultato...
Ora, mi e stato chiesto di fare si che siano un po più veloce...
Avete qualque consiglio base/generico da darmi..
non so di che tipo di tabelle mettere prima, etc...

GRazie molto...
E URGENTE ma non urgentissimo...
Grazie
HTMLman

xegallo
21-12-2004, 10:22
sapere il tipo di db le relazioni tra le tabelle sarebbe utile
Hai provato a fare un explain?

htmlman
21-12-2004, 10:33
il DB e Oracle, la programma e VB6
son otabelle relazionali
Mi spieghi cose un explain?
E adesso non so altro...
Deve scendere il mio capo e tra poco mi mostra le query, etc...
Pero dovro risolverlo entro oggi se no domani.
Terro informato,
GRazie

xegallo
21-12-2004, 10:38
se non sbaglio in Oracle si può ottimizzare l'accesso alle tabelle mediante l'ordine in cui sono messe nella From

tipo:
from tabella1
, tabella2

in questo caso il dbengine cercherà prima in tabella1 poi in tabella2



un explain e un'utility di solito fornita col database che mostra come accedi alle tabelle

caimano73
21-12-2004, 12:17
dovresti verificare la presenza di eventuali indici sulle tabelle su cui fai le query.
Facendo l'explain della query puoi vedere se l'accesso alla singola tabella avviene utilizzando un indice o no, e chiaramente se non usa un indice l'accesso sarà più lento.

Loading