根据表现,我希望下表之间存在明显差异。
我有这样的虚拟表。
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列。
答案 0 :(得分:0)
何时使用多个索引?
简短的回答:"几乎从不"。它被称为"索引合并"在在线文档中。改为使用复合索引几乎总是更好。
什么时候使用Force Index?
简短的回答:"几乎从不"。如果您对{em>今天版本的查询使用FORCE INDEX
,则可能会破坏明天的版本的性能。< / p>
完整答案是硕士论文的大小。或者完整阅读MySQL的源代码。另请注意,不同的版本会给出不同的答案。
答案的位数位于Intro to compund indexing和Cookbook for devising the best index for a given SELECT。尽管从不同的角度来看,这两个博客都会解决您的表格。
由于您未提供任何SELECTs
,我将向您提供广泛的回答。