oracle 中 like , order by 很慢,应该怎么优化?

jqaini520 2016-07-01 05:48:17
select c.*
from CMS_ARTICLE c
where c.cmar_State = 6
and c.cmar_Is_Delete = 2
and c.id != 7601291732376100
and c.cmar_Channel_Id = 282753409118476

order by c.cmar_Public_Date desc;


查询红色一段0.072秒,加上order by 要18秒。下面是表的索引:



也按照网上的方法,设置了workarea_size_policy,sort_area_size



重启数据库后还是不行。
...全文
305 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghx287524027 2016-07-04
  • 打赏
  • 举报
回复
引用 2 楼 jqaini520 的回复:
[quote=引用 1 楼 js14982 的回复:] 数据量查出来有多少,建议比较一下两个语句的执行计划
查询结果就5000多条数据。执行计划怎么比较。[/quote] 如果你使用工具的话,有的工具是带查看执行计划功能的。另外,也可以在sqlplus中执行 set autotrace traceonly /*traceonly 可以不显示执行结果*/ 显示执行计划
jqaini520 2016-07-04
  • 打赏
  • 举报
回复
引用 1 楼 js14982 的回复:
数据量查出来有多少,建议比较一下两个语句的执行计划
查询结果就5000多条数据。执行计划怎么比较。
js14982 2016-07-01
  • 打赏
  • 举报
回复
数据量查出来有多少,建议比较一下两个语句的执行计划

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧