gpt4 book ai didi

mysql - 两列索引为一列,或一列索引

转载 作者:行者123 更新时间:2023-11-29 02:36:15 25 4
gpt4 key购买 nike

什么是首选?取两列并将它们一起索引,或者创建一个新列并索引该列?例如:

INDEX(user_id, key)

然后运行:

SELECT value FROM preferences WHERE user_id = 1 AND key = 'something';

或者创建另一个名为 reference 的列,它将包含一个值 1_something 然后运行:

SELECT value FROM preferences WHERE reference = '1_something';

最好的问候,
安德鲁

最佳答案

与所有索引一样,这取决于您的具体情况。

我个人会选择两列,一个索引版本,因为它在考虑数据时更正确,使查询更清晰,允许根据需要选择范围,等等。复合引用列很可能是varchar 类型,而这两个分开的可能是一个 int 和一个 varchar,即使它是两个比较我相信会更快..

你会在没有key的情况下查询user_id吗? IE 返回特定用户的所有首选项。

您是否曾经对具有特定设置的所有用户执行范围查询,或者使 1_something 效率低下? (将 varchars 与一系列值进行比较 == 效率低下)

如果不知道您可能想要运行的其他查询、表的预期大小、样本值等,则无法确定。

关于mysql - 两列索引为一列,或一列索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4718756/

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