gpt4 book ai didi

mysql - 如果第二列对于第一列中的每个条目始终只有几个条目长,那么多列索引通常值得吗?

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

如果我的表中有两列,并且我计划对这两列进行大量查询(通常建议创建多列索引),但我也知道第一列中的每个唯一值都会第二列中只有大约 3 到 5 个值,与仅在第一列上有索引相比,多列索引是否仍然值得?假设我不关心创建索引的成本,我只关心多列索引相对于仅第一列的索引在多大程度上提高了查询速度。

最佳答案

问题是多列索引是否可以覆盖查询或至少覆盖 where 子句(假设您的查询指的是 where 子句中的过滤)。

总的来说,答案是肯定的。考虑如下数据:

x     y       datapage
a 1 datapage_1
a 2 datapage_2
a 3 datapage_3
b 1 datapage_4
. . .

如果您的查询是:

select x, y
from t
where x = 'a' and y = 2;

然后,在没有索引的情况下,数据库必须扫描所有数据页以查找匹配的行。

仅在x上建立索引,数据库可以找到所有“a”值,但仍然需要加载三个数据页才能获取y值。

xy上都有索引,数据库可以直接转到“datapage_2”。

关于mysql - 如果第二列对于第一列中的每个条目始终只有几个条目长,那么多列索引通常值得吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52330182/

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