Jak już wspomniano, możesz dodać indeks kontekstu ctx do kolumn nazw.
zakładając, że aktualizowana jest niewielka liczba rekordów, jedną z opcji jest codzienne odświeżanie indeksu. (i nagraj, kiedy to się stało)
następnie dodaj kolumnę i indeks ostatniej aktualizacji do przeszukiwanej tabeli.
Powinno być możliwe przeskanowanie indeksu ctx w poszukiwaniu większości starych niezmienionych danych i wybranie z niewielkiego procentu zaktualizowanych danych przy użyciu tradycyjnego LIKEe.g:
WHERE (lastupdated<lastrefresh AND contains(name,'%ABC%'))
OR (lastupdated>lastrefresh AND name like '%ABC%')
UWAGA:może się okazać, że Twój plan zapytania jest trochę mentalny (wiele konwersji bitmap na identyfikatory wierszy), w takim przypadku podziel 2 części OR na zapytanie UNION ALL.np.
SELECT id FROM mytable
WHERE
(lastupdate>lastrefresh and name LIKE '%ABC%')
UNION ALL
SELECT id FROM mytable
WHERE lastupdate<lastrefresh and CONTAINS(name, '%ABC%', 1) > 0