mysql - 避免 JOIN 来提高性能?

标签 mysql sql join key

假设我有用户表:
|编号 |用户名 |电子邮件 |地址 |

和帖子表:
|编号 |帖子 |用户 ID |日期 |

当我想显示帖子时,每次我都需要去用户表中从 user_id 中检索用户名。我想避免使用 JOIN 来进行这个简单的数据检索,所以我所做的就是向 posts 表中添加另一列:
|编号 |帖子 |用户 ID |用户名 |日期 |

这样我在显示帖子时就不必使用 JOIN 来检索用户名

你认为这样更好吗?

最佳答案

不。您的替代结构很容易出现不一致的情况(例如,如果用户更改了姓名;请在此处阅读第三范式 http://en.wikipedia.org/wiki/Third_normal_form#.22Nothing_but_the_key.22 ) 为什么你不想使用 JOIN?您设置了适当的索引吗?

关于mysql - 避免 JOIN 来提高性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21072983/

相关文章:

java - 将Java连接到MySQL数据库

php - 如何选择ID升序排列的多个表

mysql - 将 SumIfs Excel 函数转换为 MySQL

java - 如何在 JDBC PreparedStatement 中设置公式

sql - 将具有多个表的 SQLite 连接转换为 PostgreSQL

php - HTML 表单下拉选择问题

mysql - 如何精简这样的专栏?

MySQL MAX 函数用于不使用 GROUP BY 子句的类别

sql - 如何在 Amazon Redshift 中组合行

sql - 如何加速小型 Vertica 数据库中缓慢的多连接查询(总行数约 120K,10 分钟)