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
App. WinForms / WPF .NET
DOMANDA SU QUERY SQL
martedì 26 marzo 2013 - 09.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2008 R2
|
Access (.mdb)
vito90
Profilo
| Newbie
31
messaggi | Data Invio:
mar 26 mar 2013 - 09:45
Ciao Ragazzi,
ho un dubbio che mi voglio togliere .
Ho queste due query :
1) SELECT * FROM ( SELECT NOME,COGNOME FROM CONTATTI ) AS TMP_TABLE WHERE NOME = "CAIO"
2) SELECT NOME,COGNOME FROM CONTATTI WHERE NOME = "CAIO"
La mia domanda è questa : quando eseguo queste due query (che daranno lo stesso risultato), il sistema (SQL SERVER, ACCESS ECC) considera allo stesso modo il filtro o c'è qualche differenza in termini prestazionali ???
Grazie
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
mar 26 mar 2013 - 09:51
>Ciao Ragazzi,
>
>ho un dubbio che mi voglio togliere .
>
>Ho queste due query :
>
>1) SELECT * FROM ( SELECT NOME,COGNOME FROM CONTATTI ) AS
>TMP_TABLE WHERE NOME = "CAIO"
>2) SELECT NOME,COGNOME FROM CONTATTI WHERE NOME = "CAIO"
>
>La mia domanda è questa : quando eseguo queste due query (che
>daranno lo stesso risultato), il sistema (SQL SERVER, ACCESS
>ECC) considera allo stesso modo il filtro o c'è qualche differenza
>in termini prestazionali ???
Nella prima il db popola il campo TMP_TABLE e restituisce un dataset.
Nella seconda restituisce solo il dataset.
Deduco che la prima richieda più risorse rispetto alla seconda.
In termini di prestazioni pertanto, seppur infinitesimale, la prima dovrebbe essere meno performante.
Potresti sempre fare un test su qualche decina di migliaia di righe, con questi carichi di lavoro dovresti vedere qualche differenza.
Se lo fai facci sapere.
CIAO
>
>Grazie
Riccardo D'Aria
vito90
Profilo
| Newbie
31
messaggi | Data Invio:
mar 26 mar 2013 - 10:06
La prova l'ho fatta su una tab di 500000 righe e non da problemi .
Volevo solo sapere l'engine come considera queste query , visto che mi serve per un controllo personalizzato che ho creato
Grazie per la risp
dompa72
Profilo
| Senior Member
245
messaggi | Data Invio:
mar 26 mar 2013 - 18:12
In questo caso utilizzerei la seconda query, sarà più veloce per due motivi:
1. visualizzerà solo i campi scelti, può sempre esserci un immagine negli altri campi, e con un ordine specifico di visualizzazione
2. quando esegue la prima query il motore esegue due query la prima nel from e la seconda sul risultato ricevuto.
con l'hardware di oggi sono necessari tabelle molto grosse e disegnate male per vedere una grossa differenza
Ciao
ridaria
Profilo
| Expert
905
messaggi | Data Invio:
mar 26 mar 2013 - 19:04
Come ti ho giò detto nel primo post la seconda è più performante.
CIAO
Chiudi il post e accetta la risposta se è stata di aiuto
CIAO
Riccardo D'Aria
dompa72
Profilo
| Senior Member
245
messaggi | Data Invio:
mer 27 mar 2013 - 08:22
>Come ti ho giò detto nel primo post la seconda è più performante.
Ho risposto in quella maniera perché il richiedente aveva scritto che aveva fatto una prova, ho cercato di chiarire meglio il concetto
scusa se sono stato inopportuno
>
>
>CIAO
>
>Chiudi il post e accetta la risposta se è stata di aiuto
>
>
>CIAO
>Riccardo D'Aria
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 !