Jeśli [kolumna1] jest indeksowana, kolejna kwerenda może korzystać index:T-SQL jak przy użyciu zmiennej i indeks
SELECT * FROM [table] WHERE [column1] LIKE 'starts%'
Gdybym wprowadzić zmienną, zapytanie poniżej nigdy nie będzie używać index:
DECLARE @starts nvarchar(100)
SET @starts = 'starts%'
SELECT * FROM [table] WHERE [column1] LIKE @starts
Chcę zaimplementować wyszukiwanie startswith na podstawie danych wprowadzonych przez użytkownika, a nie jestem pewien jaki sposób wybrać:
wejściowe użytkownika ucieczka prawidłowo Podobnie jak dla optymalizator będzie w stanie odebrać plan opiera się na dosłownym
pomocą (FORCESEEK)
- użyć opcji (rekompilacji)
Inną opcją jest zaglądanie do wyszukiwania pełnotekstowego. – Mihai
Dlaczego drugie zapytanie nie będzie korzystać z indeksu? – Lock
Nie planuję utrzymania indeksu wyszukiwania pełnotekstowego na teraz – svolkov