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
Quale forma + performante?
martedì 20 maggio 2008 - 10.11
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
secks
Profilo
| Senior Member
442
messaggi | Data Invio:
mar 20 mag 2008 - 10:11
Provo a spiegarmi
.
Mi sto ponendo dei dubbi sul modo di creare query di estrazione dati su SQL nel modo più performante:
la prima (a cipolla ) con un sistema di sottoquery in cascata.
SELECT *, C.art_cod AS Expr1 FROM (
SELECT *, A.art_cod AS Expr1 FROM (
SELECT * FROM AnaArticoli WHERE (art_cod = '000000116')) A
LEFT OUTER JOIN GesCosti ON A.art_cod = GesCosti.cos_art) C
LEFT OUTER JOIN GesMovimenti ON C.art_cod = GesMovimenti.mov_art
mentre la seconda in forma orrizzontale:
SELECT *, AnaArticoli.art_cod AS Expr1
FROM AnaArticoli
LEFT OUTER JOIN GesMovimenti ON AnaArticoli.art_cod = GesMovimenti.mov_num
LEFT OUTER JOIN GesCosti ON AnaArticoli.art_cod = GesCosti.cos_art
WHERE (AnaArticoli.art_cod = N'000000116')
a parte i risultati, forse diversi, secondo voi ci puo' essere convenienza ad usare l'una o l'altra forma?
Ciao a tutti.
Paolo.
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mar 20 mag 2008 - 16:19
>Provo a spiegarmi
.
>Mi sto ponendo dei dubbi sul modo di creare query di estrazione
>dati su SQL nel modo più performante:
>la prima (a cipolla ) con un sistema di sottoquery in cascata.
Dal poco che ne so io è meglio evitare l'uso di subquery. Anche io spesso ne abuso pur sapendolo. In applicazioni che devono scalare in futuro l'uso di subquery a lungo periodo ti impicca.
>a parte i risultati, forse diversi, secondo voi ci puo' essere
>convenienza ad usare l'una o l'altra forma?
Io personalmente quando voglio provare query diverse le lancio visualizzando il SQL Execution Plan e vedo un po' che cosa cambia dall'una all'altra query e valuto qual è la migliore.
Ciao
David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/
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 !