gpt4 book ai didi

mysql - 什么时候使用多重索引?何时使用力量指数?

转载 作者:行者123 更新时间:2023-11-29 22:29:13 24 4
gpt4 key购买 nike

我想要根据性能下表之间的确切差异。

我有这样的虚拟表。

创建表 multinindx1 (
id int not null auto_increment 主键,
我 int(11) NOT NULL,
j int(11) NOT NULL,
val char(10) NOT NULL,
关键我(我),
关键 j (j)
) ENGINE=InnoDB;

创建表 multinindx2(
id int not null auto_increment 主键,
我 int(11) NOT NULL,
j int(11) NOT NULL,
val char(10) NOT NULL,
关键 ij (i,j)
) ENGINE=InnoDB;

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

注意:- 这只是虚拟表,实际表包含 16 列。

最佳答案

When are multiple indexes is used?

简短回答:“几乎从来没有”。它在在线文档中称为“索引合并”。使用复合索引几乎总是更好。

And when to use Force Index?

简短回答:“几乎从来没有”。如果您使用FORCE INDEX对于今天版本的查询,您可能会搞砸明天版本的性能。

完整的答案是一篇硕士论文的篇幅。或者完整阅读 MySQL 的源代码。进一步注意,不同版本会给出不同的答案。

答案的部分内容在 Intro to compund indexing 中和 Cookbook for devising the best index for a given SELECT 。尽管从不同的角度来看,这两个博客都讨论了您的这对表格。

由于您尚未提供任何SELECTs ,我正在为您的广泛问题提供广泛的答复。

关于mysql - 什么时候使用多重索引?何时使用力量指数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29959963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com