Như đã đề cập, bạn có thể thêm chỉ mục ngữ cảnh ctx vào các cột tên.
giả sử một số lượng nhỏ bản ghi được cập nhật, 1 tùy chọn là làm mới chỉ mục của bạn hàng ngày. (và ghi lại khi nó xảy ra)
sau đó thêm cột &chỉ mục ngày cập nhật cuối cùng vào bảng đang được tìm kiếm của bạn.
Có thể quét chỉ mục ctx của bạn để tìm phần lớn dữ liệu cũ không thay đổi và chọn từ phần trăm nhỏ dữ liệu cập nhật bằng cách sử dụng LIKE giao dịch:
WHERE (lastupdated<lastrefresh AND contains(name,'%ABC%'))
OR (lastupdated>lastrefresh AND name like '%ABC%')
LƯU Ý:bạn có thể thấy kế hoạch truy vấn của mình hơi phức tạp (nhiều chuyển đổi bitmap thành id hàng) trong trường hợp đó, hãy tách 2 phần của HOẶC thành một truy vấn UNION ALL. Ví dụ:
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