我想索引的查詢像x like '%abc%'
如何爲'%abc%'搜索創建文本索引?
如果我有一個表像下面的
create table t
(
data varchar(100)
);
我想創建一個索引能夠做到有效地執行以下操作:
select * from t where contains('%abc%');
這:
select * from t where contains('abc%');
我也希望這張桌子現場更新。
如何創建這樣的索引? (我有一種感覺,我需要一個ctxcat
索引,但我很困惑我需要給它什麼選擇)
我正在使用Oracle 10g。你的問題
感謝您的答案。只有幾個問題:對於'abc%'查詢,'prefix_index'和'%abc%'查詢都是'substring_index'?並且默認的子串索引是否索引所有的子串?另外,我該如何使用這個索引?將'包含(col,'%abc%')'和'contains(col,'abc%')'做詭計嗎? – Clinton
是的,這些搜索將起作用,已經更新了一個可以比我更好地解釋它的鏈接,但實質上這些參數用於改善那種類型搜索的性能。 –