Se [Colonna1] è indicizzato, query successiva può utilizzare index:T-SQL come l'utilizzo variabile e l'indice
SELECT * FROM [table] WHERE [column1] LIKE 'starts%'
Se presento una variabile, la domanda sotto userà mai index:
DECLARE @starts nvarchar(100)
SET @starts = 'starts%'
SELECT * FROM [table] WHERE [column1] LIKE @starts
voglio realizzare StartsWith ricerca in base all'input dell'utente e non sono sicuro di quale modo di scegliere:
input dell'utente fuga correttamente per questo modo ottimizzatore sarà in grado di scegliere un piano basato su letterale
uso con (FORCESEEK)
- uso OPTION (RECOMPILE)
Un'altra opzione è quella di guardare in ricerca full-text. – Mihai
Perché la seconda query non dovrebbe utilizzare un indice? – Lock
Non ho intenzione di mantenere la piena indice di ricerca per ora – svolkov