了解MySql解释计划(坏索引?)

时间:2013-02-01 16:20:12

标签: mysql sql

我的系统中有一个非常基本的查询,但在查询中添加一个额外的内连接需要执行时间表(0.02秒到6.0秒)。在我看来,我在连接列上缺少一个索引,但确实存在一个索引。以下是两个查询中的explain plan。发生了什么事?

查询速度快得多.... enter image description here

使用一个额外的连接缓慢查询(table ='bd') enter image description here

这是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行

0 个答案:

没有答案