Zoals eerder vermeld, zou je een ctx-contextindex kunnen toevoegen aan de naamkolommen.
ervan uitgaande dat een klein aantal records wordt bijgewerkt, is de eerste optie om uw index dagelijks te vernieuwen. (en opnemen wanneer het gebeurde)
voeg vervolgens een kolom en index voor de datum van de laatste update toe aan uw tabel waarin wordt gezocht.
Het zou mogelijk moeten zijn om uw ctx-index te scannen op het merendeel van de oude ongewijzigde gegevens en een selectie te maken uit het kleine percentage bijgewerkte gegevens met behulp van de traditionele LIKEe.g:
WHERE (lastupdated<lastrefresh AND contains(name,'%ABC%'))
OR (lastupdated>lastrefresh AND name like '%ABC%')
OPMERKING:u zult merken dat uw zoekplan een beetje mentaal wordt (veel bitmapconversies naar rij-ID's), in dat geval splitst u de 2 delen van de OR in een UNION ALL-query.e.g.
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