电竞煤老板 2018-11-16 02:32 采纳率: 0%
浏览 651

mysql查询速度慢???????

小弟这里有一个SQL查询非常慢,大佬看一下有没有什么办法能优化一下?
各个表的数据量分别为
ic_file_proc_state ps; 3700000
og_file_audit ps; 300000
ic_file_audit ps; 2800008

SELECT
ps.ic_file_nm,
ps.BIZ_LINE,
ps.DB_INSR_TM,
ps.state,
ps.cdr_count,
fa.cdr_count fa_cdr_count,
fa.ic_file_chg_intax fa_ic_file_chg_intax,
fa.tap_format fa_tap_format,
oa.rec_count oa_rec_count,
oa.chg_intax oa_chg_intax,
oa.tap_format oa_tap_format
FROM (SELECT
ps.ic_file_nm,
ps.BIZ_LINE,
ps.DB_INSR_TM,
ps.state,
ps.cdr_count
FROM ic_file_proc_state ps) ps
LEFT JOIN ic_file_audit fa
ON ps.ic_file_nm = fa.ic_file_nm
LEFT JOIN og_file_audit oa
ON ps.ic_file_nm = oa.OG_FILE_NM
WHERE ps.state IN (1, 2, 3, 4)

  • 写回答

6条回答 默认 最新

  • Conpgo1 2018-11-16 02:47
    关注

    这种关联查询本来就慢 你把where条件放到ps里面,然后限制好 fa 和 oa 的表的数据条件啥的 保证在能得到正确的结果的前提下 oa 和fa的数据量最小

    评论

报告相同问题?