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
SQLServer, Table function ed INDICI
giovedì 17 settembre 2009 - 16.37
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
gemon
Profilo
| Newbie
2
messaggi | Data Invio:
gio 17 set 2009 - 16:37
Salve, a tutti ho una query che torna 200.000 record circa la query ha una inner join tra una tabella ed una TABLE FUNCTION, la query è molto lenta, ho visto dal query analyzer con l'execution plan che il collo di bottiglia è sulla TABLE FUNCTION, praticamente fà un TABLE SCAN e si prende più del 50% del tempo di esecuzione della query. La mia domanda ora è:
Si possono inserire degli indici sulla TABLE function per velocizzare l'accesso a questi dati ed evitare così il TABLE SCAN?
Grazie
speedx
Profilo
| Junior Member
111
messaggi | Data Invio:
gio 17 set 2009 - 16:44
SU sql SERVER PUOI CREARE INDICI SULLE TABELLE PER VELOCIZZARE LE ESTRAZIONI, SE UTILIZZI SQL 2008 AGGIUNGENDO IL PIANO DI ESECUZIONE TI FORNISCE LUI GIà UNA PRIMA IDEA DEGLI INDICI DA CREARE.
//// Marcello C.
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
gio 17 set 2009 - 22:46
>Si possono inserire degli indici sulla TABLE function per velocizzare
>l'accesso a questi dati ed evitare così il TABLE SCAN?
No, al più li puoi definire su tabelle e viste (se materializzate).
Ad ogni modo per rispondere adeguatamente alla tua domanda occorrerebbe avere a disposizione un esempio completo su cui ragionare.
>Grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
gemon
Profilo
| Newbie
2
messaggi | Data Invio:
ven 18 set 2009 - 09:29
allora, ho una table function che fa due select in union e torna 200.000 record (chiamiamole timbrature del personale), poi ho diverse stored procedure client che utilizzano questa table function e mettono in join altre tabelle del db, ad esempio l'anagrafica, la sede delle persone con appunto ad ognuno le proprie timbrature.... dall'execution plan ho visto che viene eseguito un table scan sulla table function.....
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
sab 19 set 2009 - 19:00
>allora, ho una table function che fa due select in union e torna
>200.000 record (chiamiamole timbrature del personale), poi ho
>diverse stored procedure client che utilizzano questa table function
>e mettono in join altre tabelle del db, ad esempio l'anagrafica,
>la sede delle persone con appunto ad ognuno le proprie timbrature....
>dall'execution plan ho visto che viene eseguito un table scan
>sulla table function.....
Si... ma senza un esempio reale e completo dubito che potrai ricevere la soluzione al tuo problema.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !