注册

增加order by排序后慢的问题

付介 2021/10/29 1705 11

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1
【操作系统】:centos7
【CPU】:x86
【问题描述】*:sql使用时间戳字段作为排序字段,查询异常缓慢.(数据量600w)
sql:

SELECT pi.PS_MSG_ID, pi.PS_CODE, pi.CLIENT_NAME, pi.REQ_TIME, pi.ERR_FLAG FROM SRRC_OSB_PS_INVOKE pi WHERE pi.err_flag = 'N' and pi.ps_code like 'PS%' order by pi.REQ_TIME

相关索引定义:

CREATE INDEX "INDEX_REQ_TIME" ON "xxx"."SRRC_OSB_PS_INVOKE"("REQ_TIME" DESC) STORAGE(ON "xxx", CLUSTERBTR) ; CREATE INDEX "INDEX_PS_PS_CODE" ON "xxx"."SRRC_OSB_PS_INVOKE"("PS_CODE" DESC) STORAGE(ON "xxx", CLUSTERBTR) ; CREATE INDEX "INDEX_PS_ERR_FLAG" ON "xxx"."SRRC_OSB_PS_INVOKE"("ERR_FLAG" ASC) STORAGE(ON "xxx", CLUSTERBTR) ;

其中REQ_TIME,ps_code,err_flag都加了索引.req_time降序索引.
执行计划:
16355018021.jpg

请问改如何优化,使其查询速度在有排序的情况下提升,感谢.
注:所搜相关问题后,未能解决问题,故提问.

现在查询时间稳定在11s左右,不知道这个查询速度在600w数量级是否是正常的速度.

回答 0
暂无回答
扫一扫
联系客服