Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Lntezza query
mercoledì 16 febbraio 2011 - 12.30
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2005
|
SQL Server Express
massimo1965
Profilo
| Junior Member
134
messaggi | Data Invio:
mer 16 feb 2011 - 12:30
Ciao a tutti,
mi sta succedendo una cosa strana in una query su una database.
La query in questione è molto semplice :
select f2.id_movprinota from mov_prinota as f2
inner join mov_righeprinota as f1 on f1.id_movprinota=f2.id_movprinota
left join tab_doc as f3 on f2.id_doc=f3.id_doc
where f1.tipo_id = 1 and f1.id_cliforpc = 1381
and f2.dat_reg between '20110101' and '20110216'
in pratica dalla tabella mov_prinota legata mov_righeprinota per lo stesso id devo recuperare tutte le righe che hanno il codice
1381. ora la cosa strana è che tolgo la left sulla tab_doc va che una scheggia se la lascio passano oltre 2 minuti.
Inoltre se cambio i limiti di data ad esempio parto dal 2000 e lascio sempre la left è una scheggia se parto dal 2011 sempre oltre 2 minuti
le relazioni sono
- mov_prinota a mov_righeprinota 1 a molti
- mov_prinota a tab_doc 1 a 1
se la stessa query la faccio un altro database, funziona tutto velocemente.
Qualche idea ?
Grazie
speedx
Profilo
| Junior Member
111
messaggi | Data Invio:
mer 16 feb 2011 - 13:33
Ciao, le tabelle sono partizionate? e se si come?
hai indici sulle colonne che usi come join?
ultimo aggiornamento delle statistiche sulla tabella?
Questi potrebbero essere i problemi:
Indici utilizzati dalla query non aggiornati,
Stistiche sulle tabelle vecchie
Cmq ti consiglio di guradare il piano di esecuzione della query... e se sei su 2008 ti potrebbe suggerire, se sono necessari, gli indici per ottimizzare la query
//// Marcello C.
massimo1965
Profilo
| Junior Member
134
messaggi | Data Invio:
mer 16 feb 2011 - 22:15
Marcello
ho eseguito l'aggiornamento sulle statistiche con : EXEC sp_updatestats @resample = 'resample'
e il tutto si è velocizzato, siamo passati da 1,15 a meno di 1 secondo....
Grazie
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !