gpt4 book ai didi

mysql - 多列索引在 MySQL 中如何工作?

转载 作者:行者123 更新时间:2023-12-05 04:41:24 25 4
gpt4 key购买 nike

更具体的说,MYSQL多列索引使用什么数据结构?我知道MYSQL使用Btree做索引,只能索引一列。那么多列索引是如何工作的?

最佳答案

以这种方式思考 MySQL“复合”索引。

将索引中的所有列连接在一起,然后在该“单个”字符串上构建 BTree 索引。

一些相关评论:

一旦理解了这个类比,您就会明白为什么各个列的基数无关紧要。也就是说,复合索引中列的顺序对性能 没有影响。顺序确实很重要,具体取决于查询要求的内容。

INDEX(a,b) 可能对这些有用:

 WHERE a = 123
WHERE b = 5 AND a = 678

但不能用于

 WHERE b = 5

(注意我对“concatenate”的使用。由于将 float 、日期、带符号的整数、具有奇数排序规则的字符串等连接起来并不实际,就好像它们只是字节一样,我并不是说 InnoDB 从字面上连接字节在一起。)

关于mysql - 多列索引在 MySQL 中如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70096536/

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