【发布时间】:2023-03-12 22:56:01
【问题描述】:
我有一个名为 cps_case_history 的表,其中有一列名为 'Notes' 的数据类型为 Varchar2 (1800 Char)
我需要从 cps_case_history 表中获取 10 到 15 条记录,其中 Notes like 'ACCOUNT TFR TO UFSS' 。
我使用了以下两个查询,但执行时间太长,谁能建议一种优化以下查询的方法,以便我可以快速获取 10 或 15 条记录
第一个查询:
Select * from cps_case_history where
(dbms_lob.instr(notes, 'ACCOUNT TFR TO UFSS') > 1)
第二个查询:
select * from cps_case_history where
notes like '%ACCOUNT TFR TO UFSS%'
提前致谢。
【问题讨论】:
-
Oracle(plsql) 还是 sql-server??.. 好像是 Oracle
-
您为什么在
varchar2列上使用dbms_lob?第二个查询似乎很好。需要多长时间?您在Notes列上有任何索引吗? -
我没有为该列定义任何索引。当我尝试长时间(以小时为单位)执行它而没有任何响应时..有什么解决方案
标签: sql oracle query-optimization