mysql innodb大表未使用索引

时间:2018-06-21 13:53:36

标签: mysql indexing innodb

引擎:InnoDB

表格:

  1. table_big:1000万行,150列,约10G数据
  2. table_small:1百万行,150列,约1G数据
  3. table_default:5万行,50列,〜28M数据

查询:

select * 
from table_big big
inner join table_default default on (
    big.index_column=default.primary_key_column)
order by big.primary_key_column
limit 25;

查询中使用的所有列都是索引或主键。但是,它非常慢,当我对其进行解释时,这是解释的摘要-

table_big:使用big.index_column的索引

table_default:将主键列为可能的键,但是未使用它。 Extra 具有正在使用临时;使用 = 50,000的文件排序

所以基本上是在扫描桌子。

也就是说,如果我查询table_small,一切都很好,并且索引使用正确。

即使我在内部联接上执行 force index(主),它仍然不使用索引。

有人可以告诉我我在做什么错吗?

0 个答案:

没有答案