mysql - 将列传输到自己的表对性能有好处吗?

标签 mysql sql performance

我有一个大约有 10 列的表。其中一列是 varchar(255)。此列中的典型值的长度约为 50 - 80 个字符。 这些值通常是相同的。这意味着该列中可以包含大约 100 个值(没有空值)。该表大约有 100 万个条目。在 select 语句中,我获取表中的大量行。

为这大约 100 个值创建一个自己的表并在“主表”中使用外键引用它们是个好主意吗?

我的意思是,当我为它们创建一个新表时,保存这些值肯定需要更少的空间,但它对性能有好处吗?

最佳答案

最好将其维护在单独的表中,并在主表中使用外键引用它们。主表也应该正确索引。

将其维护在单独的表中的优点是,如果值发生更改,您无需转到主表(约 100 万个条目)并在各处替换它,而是转到新表并进行更改在一个地方。

关于mysql - 将列传输到自己的表对性能有好处吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39533408/

相关文章:

mysql - 查询返回空结果但数据存在

php - Laravel 过滤已经过滤的结果

php - Ajax 在下拉列表中发送相同的值但不同的选项

mysql - 如何从 X 列中选择唯一列但从 SQL 结果中显示 X + Y 列?

php - 如何使用 Laravel 将 mysql json 字段转换为 javascript 对象?

java - 是否可以使用 jOOQ 生成的记录类进行更新插入?

mysql - 给定条件时不显示任何记录 (SQL)

performance - AWS S3 超慢速度

sql - 在什么情况下 SELECT by PRIMARY KEY 会很慢?

java - Java 和 Python 的执行速度