Lntezza query

mercoledì 16 febbraio 2011 - 12.30
Tag Elenco Tags  SQL Server 2005  |  SQL Server Express

massimo1965 Profilo | Junior Member

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

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

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

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 !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5