我需要一些通配符搜索的幫助,在兩端都使用%運算符。該表有近700萬條記錄。如何調整文本列的通配符搜索?
是否有任何選項爲此創建索引?我已經創建了一個索引類型CTXSYS的索引,它適用於單個%運算符。 請幫忙。
我需要一些通配符搜索的幫助,在兩端都使用%運算符。該表有近700萬條記錄。如何調整文本列的通配符搜索?
是否有任何選項爲此創建索引?我已經創建了一個索引類型CTXSYS的索引,它適用於單個%運算符。 請幫忙。
您需要將每個存儲的字符串值分成一個文本字段,該字段包含可以搜索的每個排列。然後,您可以索引此文本字段並執行「包含」搜索,這將比通配符更有效。
有關詳細示例,請參閱此文章。 https://asktom.oracle.com/pls/asktom/f?p=100:11:::::P11_QUESTION_ID:37336026927381
假設您已經在item_number上創建了CONTEXT類型文本索引。下面是語法 -
SELECT item_number FROM md_sku_table WHERE CONTAINS(item_number, 'TEST', 1) > 0;
正如上文所述,你不應該使用LIKE「%」在這裏......
你能裝上查詢? –
您需要首先檢查:http://stackoverflow.com/help/how-to-ask –
文本不能與'%'通配符運算符一起使用 - 這就是'LIKE'。您是否創建了CONTEXT或CTXCAT索引?什麼樣的數據是你的索引 - 大文檔?文字片段?名字呢?哪個版本的Oracle? – APC