1

我的系统中有一个非常基本的查询,但在查询中添加一个额外的内部联接采用执行时间形式(0.02 秒到 6.0 秒)。在我看来,我在连接列上缺少一个索引,但确实存在一个。下面是explain plan两个查询中的一个。到底是怎么回事?

查询速度更快...... 在此处输入图像描述

带有一个附加连接的慢查询(table ='bd') 在此处输入图像描述

这是sql...

SELECT DISTINCT rsb.id 
FROM   report_session_bill rsb 
       INNER JOIN bill b 
               ON b.id = rsb.bill_id 
       INNER JOIN bill_master bm 
               ON bm.id = b.bill_master_id 
       INNER JOIN meter m 
               ON m.id = b.meter_id 
       -- slow join below... 
       INNER JOIN building bd 
               ON bd.id = m.building_id 
WHERE  rsb.report_session_id = 20693 

表统计...

  • report_session_bill:1,000 - 10,000 行,每小时删除一次
  • 账单:100 万行
  • bill_master:750k 行
  • 米:10k行
  • 建筑:7k行
4

0 回答 0