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
Off Topic (OT)
Meglio Like o =
venerdì 04 maggio 2007 - 11.25
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
ven 4 mag 2007 - 11:25
Ciao, non mi sembrava il caso di aprire un thread nella standa dei Db, quindi lo chiedo qui: a livello di performance è meglio il like o '='?
Personalmente mi piace di più il like.
Meglio l' '=' ?
Che mi raccontate? ^_^
Ciaooooo!
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 4 mag 2007 - 11:38
>Ciao,
Ciao!
>non mi sembrava il caso di aprire un thread nella standa dei Db, quindi lo chiedo qui:
Potevi nella stanza DB, non sai a quanti farebbe comodo una risposta così!!
>a livello di performance è meglio il like o '='?
beh.. decisamente =..
Il motore di SQL Server, appena trova una clausola WHERE,
prova ad individuare l'indice o gli indici in grado di risolvere la clausola.
Siccome l'indice eventualmente utilizzato è ordinato, SQL Server identifica ed esclude tutti quei risultati che sono prima o dopo i valori di ricerca. Quindi la LIKE, che obbliga l'inserimento di wildcard come _ e *, comprende un insieme di valori (Valori che cominciano per, che comprendono un testo, ecc..) per cui al motore di sql server risulta difficile ottimizzare la query facendo uso di indici mirati a risolvere la clausola WHERE.
Leggi qui:
http://www.microsoft.com/italy/msdn/risorsemsdn/platform/guidelines.mspx
>
>Personalmente mi piace di più il like.
a volte quello che piace non è quello che vince
Ciao!
Alx81 =)
http://blogs.dotnethell.it/suxstellino
Pongo
Profilo
| Senior Member
274
messaggi | Data Invio:
ven 4 mag 2007 - 12:47
Perfetto!
Adesso mi sono tolto il dubbio! ^_^
Ciao e grazie!
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
ven 4 mag 2007 - 13:03
>Quindi la LIKE, che obbliga l'inserimento
>di wildcard come _ e *, comprende un insieme di valori (Valori
>che cominciano per, che comprendono un testo, ecc..) per cui
>al motore di sql server risulta difficile ottimizzare la query
>facendo uso di indici mirati a risolvere la clausola WHERE.
Questo non è del tutto vero.
Come giustamente ha indicato Davide nel suo articolo, se le wildcard sono utilizzate come suffissi, il Query Optimizer è in grado tranquillamente di sfruttare gli eventuali indici definiti sulla colonna.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 4 mag 2007 - 13:33
>Questo non è del tutto vero.
>Come giustamente ha indicato Davide nel suo articolo, se le wildcard
>sono utilizzate come suffissi, il Query Optimizer è in grado
>tranquillamente di sfruttare gli eventuali indici definiti sulla
>colonna.
Vero.. grazie Lorenzo
come sempre!
>
>Ciao!
Ciao!
Alx81 =)
http://blogs.dotnethell.it/suxstellino
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 !