如果在 MySQL 表中使用数据类型 VARCHAR(255)
建立索引的列可以简化为 VARCHAR(10)
,那么可以有多少这可能会提高查询性能吗?
如果您查看 EXPLAIN
语句,key_len
会减少,但我仍然没有足够的数据/洞察力来了解性能改进了多少,如果有的话,这个会有。
最佳答案
最基本的优化之一是将表设计为占用尽可能少的磁盘空间。这可以带来巨大的改进,因为磁盘读取速度更快,并且较小的表通常需要较少的主内存,而在查询执行期间正在积极处理其内容。如果在较小的列上进行索引,那么资源负担也较小。
MySQL 支持许多不同的表类型和行格式。对于每个表,您可以决定使用哪种存储/索引方法。为您的应用程序选择正确的表格式可能会给您带来巨大的性能提升。请参阅第 8 章“MySQL 存储引擎和表类型”。
您可以使用列出的技术 here: 获得更好的表性能并最小化存储空间。 其中之一是: 表的主索引应该尽可能短。这使得每一行的识别变得简单而高效。
关于mysql - MySQL 上较小的 VARCHAR 列更适合索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5378217/