在DB2上调整SQL PLAN

2020-09-05 06:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好专家 我对具有绑定变量的S...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好专家

我对具有绑定变量的SQL的执行计划有疑问:

SQL1:在附加文件上按计划运行非常快

选择计数(*)

来自JHMATCH m
内连接VHBORDER bo
上m.BORDERID = bo.ORDERID
内连接VCRPTTRADINGACCVN ta
bo.CLIENTID = ta.CLIENTID
和bo.TRADINGACCSEQ = ta.TRADINGACCSEQ
和m.VALUEDATE> ='2019-06-03'
和m.VALUEDATE <='2019-06-30'

SQL2:对附件文件的计划运行非常慢

选择计数(*)

来自JHMATCH m
内连接VHBORDER bo
上m.BORDERID = bo.ORDERID
内连接VCRPTTRADINGACCVN ta
bo.CLIENTID = ta.CLIENTID
和bo.TRADINGACCSEQ = ta.TRADINGACCSEQ
和m.VALUEDATE> ='2019-06-02'
和m.VALUEDATE <='2019-06-30'

我执行了Runstats来收集表JHMATCH,THBORDER上的统计信息,并再次运行SQL1、2,但是遇到了同样的问题。 请帮助我调整SQL2。

非常感谢,

Bgs,Vinhpv。

sql1-plan.jpg (460.3 kB)
8条回答
绿领巾童鞋
2020-09-05 07:19

嗨弗兰克,

根据您的建议,我创建了一个新索引,如带有主列STATUS的主键,问题已解决。

我还有其他问题。 请帮助我解释问题。

我的数据库属于OLTP系统,因此我可以对表和索引使用压缩吗? 压缩选项是否适合DML事务?

列STATUS,STATE具有很多重复值(低基数),在我看来,在列上建立索引没有用,但这种情况并不正确。

在Oracle DB中,我看到通常不使用带有<>条件或低基数列的条件WHERE在列上创建索引,并且很难选择执行困难的简单计划。 Oracle中的Optimizer似乎比DB2更好?

非常感谢您的建议!

Bgs,Vinhpv

一周热门 更多>