【问题详细描述】
有如下 sql 语句。SQL1 耗时约 4s,SQL二、SQL3 耗时约 1 个小时。有办法经过优化 SQL2 作到作完子查询再把全部条件一块儿下压到 SequoiaDB 吗? html
表:ibs.pb_log, 数据量:600亿 ,索引:log_cstno + log_datetime
表:ibs.pb_cstinf_pro,数据量:4千万, 索引:cip_ctfno sql
SQL1:
SELECT * FROM ibs.pb_log WHERE log_cstno IN
('2339139')
AND log_datetime BETWEEN CONCAT('20190101', '000000') AND CONCAT('20190429', '000000')
SQL2:
SELECT * FROM ibs.pb_log WHERE log_cstno IN
(SELECT cip_cstno FROM ibs.pb_cstinf_pro WHERE cip_ctfno IN ('360426198807174073'))
AND log_datetime BETWEEN CONCAT('20190101', '000000') AND CONCAT('20190429', '000000') oop
SQL3:
SELECT * FROM ibs.pb_log LEFT JOIN ibs.pb_cstinf_pro ON
log_cstno=cip_cstno WHERE
log_datetime BETWEEN CONCAT('20190101', '000000') AND CONCAT('20190429', '000000') AND
cip_ctfno IN ('360426198807174073') 优化
查询计划见附件。htm
【解决办法】blog
【参考资料】
表的三种Join方法 (NLJOIN, HSJOIN, MSJOIN): https://www.cnblogs.com/sophy...索引
【解决办法】ip
【参考资料】
表的三种Join方法 (NLJOIN, HSJOIN, MSJOIN): https://www.cnblogs.com/sophy...ci