我需要在这样的查询中使用oracle Contains函数:
select *
from iindustrialcasehistory B
where CONTAINS(B.ItemTitle, '%t1%') > 0 OR
CONTAINS(B.ItemTitle, '%t2%') > 0
我已经为ItemTitle列定义了上下文索引,但执行时间大约是一分钟!而我需要它在不到一秒的时间内执行! 感谢先进的任何执行时间减少指南!
答案 0 :(得分:0)
包含对字符串中所有子字符串外观的搜索,这就是为什么更好地使用instr(),因为它只搜索第一次出现的子字符串,它应该更快。
然后你可以为函数Instr(B.ItemTitle,' t1')+ Instr(B.ItemTitle,' t1')构建索引。
并使用此功能值>之后的查询中为0。 您可以通过instr函数here查看有关使用索引的更多详细信息。