首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >索引和一组小的可能值

问索引和一组小的可能值
EN

Database Administration用户
提问于 2016-07-25 10:45:36
回答 1查看 314关注 0票数 0

我有一个字符串列,我想成为MySQL中大型表中多列索引的一部分。本专栏中只能有几个不同的值。如果我事先知道这些值,我可以使这个列整数和一个外键到另一个列出所有可能值的小表中。但我事先不认识他们。

对字符串列进行索引是否有意义:即MySQL在内部存储时是否避免了每一行索引列值的重复?

EN

回答 1

Database Administration用户

发布于 2016-07-25 14:46:23

有三种选择。VARCHAR就是其中之一,可能是“最糟糕的”。

你建议再来一张--一张额外的桌子。

第三个是:ENUM('one_option', 'another', ...)。它只需要一个字节(如TINYINT)。您可以直接使用当前与VARCHAR一起使用的字符串。如果您需要添加另一个选项,则如果在列表末尾添加新选项,ALTER TABLE将是“即时”的。

索引低基数列是无用的;优化器将决定表扫描速度更快,而忽略索引。但是,包含这样一列的“复合”索引通常是有用的。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/144812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档