mysql 联合索引的 column 数量 会影响到 B+树的阶吗?

2022-03-23 11:56:45 +08:00
 ilumer

比如对于同一张表

CREATE TABLE test(

col_1 INT,

col_2 INT,

col_3 VARCHAR(11),

col_4 VARCHAR(11)  )ENGINE = INNODB;
CREATE idx_1 mul ON test(col_2,col_3,col_4);
CREATE idx_2 mul ON test(col_2,col_3);

这里联合索引中的 column 数量会影响到到索引树的阶吗,三个 column 组成的联合索引阶数要大于两个 column 组成的联合索引吗

1026 次点击
所在节点    MySQL
1 条回复
wqlm
2022-03-23 16:20:35 +08:00
是的,因为一个 innodb page 默认大小 16K ,索引字段越多,一个 page 中能存储的数量就越小,导致树变高(树的阶变大)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/842304

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX