2021-12-27
SQL优化-为何执行计划走组合索引
请问下面的SQL执行计划为何没有走IDX_AU_ORDER_N3组合索引,下面这个SQL请大师指点一下如何优化
AU_ORDER 72153805条记录;
BA_USER_INFO_T 15235310条记录;
BA_MEMBER_INFO_T 14960108条记录;
AU_ORDER_EXT 3978846条记录;
AU_ORDER_ACTIVITIES_RELATION_T 1106070条记录;
------------------------------------------------------------------------------------------------
SELECT count(1)
FROM AU_ORDER D,
BA_USER_INFO_T U ,
BA_MEMBER_INFO_T M,
AU_ORDER_EXT E,
AU_ORDER_ACTIVITIES_RELATION_T R
WHERE
D.ORDER_USER_ID = U.USER_ID
AND U.MEMBER_ID = M.MEMBER_ID
AND D.ORDER_ID = E.ORDER_ID(+)
AND D.ORDER_ID = R.ORDER_ID(+)
AND D.COMPANY_ID =2
AND D.ORDER_TYPE_DTCODE = 'redeem'
AND D.ORDER_DT >= TO_DATE('2021-12-23', 'YYYY-MM-DD')
AND D.ORDER_DT < TO_DATE('2021-12-23', 'YYYY-MM-DD') + 1
我来答
添加附件
收藏
分享
问题补充
6条回答
默认
最新
回答交流
Markdown
请输入正文
提交
相关推荐
SQL 优化
回答 3
已采纳
你这个逻辑太复杂,我反复拆解,大致得出结论:假设closeddate必然小于currentdate,且closeddate一旦录入了不会变化。那么只要closeddate<trunc(curre
SQL优化减少逻辑读
回答 12
看T表关键列的数据分布,然后考虑建复合索引
索引失效
回答 2
解决了吗?
在postgresql12中,SQL单独执行不慢,但在存储过程中执行慢。
回答 1
1.启用慢查询日志,修改postgresql.conf文件,logmindurationstatement5000记录执行时间超过5秒的查询2.分析执行计划EXPLAINANALYZESELECTFR
同一个sql执行时间不一样是什么原因?
回答 1
跑个sqlmonitor看看时间差距在哪一步,以及等待事件是什么。从以上内容看起来,第一次执行ax4cxv5wn0yk5,有较长的UserI/OWaitTime和ClusterWaitTime,存在r
查询sql优化
回答 3
我个人感觉,这个SQL没有优化余地了,所以建议改索引里的字段顺序,没准会使得数据读入量小一些。但,如果改索引牵扯面太广,那就呵呵吧。
SQL优化求助!!!
回答 7
已采纳
优化建议: 更换SSD存储; fixcontrol 308224461; 开并行(如果不更换存储, 意义不大,只是用来使用更多
Mysql关于group by添加索引的疑问
回答 3
已采纳
所谓最好的三星索引1、过滤性好,能过滤掉较多的行2、索引覆盖3、SQL的排序也刚好是索引的排序满足以上三点,就是最好的三星索引了。但从你的SQL来看。1与3肯定不能同时满足了。要么满足1,2,要么满足
请问下有有关ORACLE执行计划解读和性能优化的实验文档呀?
回答 2
来看看这个:《《OracleSQL调优之执行计划》罗海雄》《Oracle数据库SQL执行计划的取得和解析》PPT(附SQL文件).zip。绝对有帮助!
查询计划的理解
回答 1
如果还没有解决,可以加微信oraservice提供详细信息以便进一步优化,感觉左边的执行计划也不是太好,还有sql的写法可能也有改进的地方。
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~