什么时候使用多个索引?什么时候使用Force Index?

时间:2015-04-30 05:49:30

标签: mysql performance indexing

根据表现,我希望下表之间存在明显差异。

我有这样的虚拟表。

CREATE TABLE multinindx2( id int not null auto_increment primary key, i int(11) NOT NULL, j int(11) NOT NULL, val char(10) NOT NULL, KEY ij (i,j) ) ENGINE=InnoDB;

{{1}}

如果我想从上面的表中选择1M行,哪个表非常有效地获取数据。

注意: - 这是Just dummy tables实际表包含16列。

1 个答案:

答案 0 :(得分:0)

  

何时使用多个索引?

简短的回答:"几乎从不"。它被称为"索引合并"在在线文档中。改为使用复合索引几乎总是更好。

  

什么时候使用Force Index?

简短的回答:&#34;几乎从不&#34;。如果您对{em>今天版本的查询使用FORCE INDEX,则可能会破坏明天的版本的性能。< / p>

完整答案是硕士论文的大小。或者完整阅读MySQL的源代码。另请注意,不同的版本会给出不同的答案。

答案的位数位于Intro to compund indexingCookbook for devising the best index for a given SELECT。尽管从不同的角度来看,这两个博客都会解决您的表格。

由于您未提供任何SELECTs,我将向您提供广泛的回答。