Comme déjà mentionné, vous pouvez ajouter un index de contexte ctx aux colonnes de nom.
en supposant qu'un petit nombre d'enregistrements soient mis à jour, une option consiste à actualiser votre index quotidiennement. (et notez quand c'est arrivé)
puis ajoutez une colonne et un index de date de dernière mise à jour à votre table recherchée.
Il devrait être possible d'analyser votre index ctx pour la majorité des anciennes données inchangées et de sélectionner parmi le petit pourcentage de données mises à jour en utilisant le traditionnel LIKEe.g :
WHERE (lastupdated<lastrefresh AND contains(name,'%ABC%'))
OR (lastupdated>lastrefresh AND name like '%ABC%')
REMARQUE :vous constaterez peut-être que votre plan de requête devient un peu mental (beaucoup de conversions de bitmap en identifiants de ligne), dans ce cas, divisez les 2 parties de l'OU en une requête UNION ALL, par exemple
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