У нас есть запрос, который занимает 48 минут, чтобы выполнить поиск по клобу.Запрос написан так, как будто он не является столбцом clob и использует содержит и рядом.Этот поиск 3 слов в пределах определенного расстояния слова важен.Мне нужно ускорить это, и я хочу сделать индекс для clob, но не знаю, сработает ли это, и не до конца понимаю, как это сделать.Я обнаружил это у Тома Берлсона http://www.dba -oracle.com / t_clob_search_query.htm ИЛИ https://asktom.oracle.com/pls/apex/asktom.search?tag=oracle-text-contains-search-with-near-is-very-slow, но не могу понять, как это сделать с содержимым и рядом, чтобы включить поиск3 слова на определенном расстоянии друг от друга.
текущий скрипт:
SELECT clob_field
FROM clob_table
WHERE contains(clob_field,'NEAR (((QUICK),(FOX),(LAZY)),5)') > 0;
Хотите использовать что-то подобное, если это будет работать как индексация:
SELECT clob_field
FROM clob_table
WHERE contains(dbms_lob.substr(clob_field,'near(((QUICK),(FOX),(LAZY)),5)')) > 0;
Если нет, мне нужно выполнить индексацию, ноЯ не совсем понимаю, как использовать CTXCAT и CONTEXT (https://docs.oracle.com/cd/A91202_01/901_doc/text.901/a90122/ind4.htm).. Мне также не нравится то, что я прочитал здесь, где говорится, что если кто-то использует CTXCAT для индексации сгустка, вы должны использовать CONTEXT или что-то подобноеЭто не может повлиять на другие запросы, которые выполняются в этом поле.
Заранее спасибо!