【发布时间】:2009-12-05 10:57:31
【问题描述】:
我已经阅读了很多关于在每个 SELECT 上使用许多 JOIN 语句的关系数据库。但是,我一直想知道滥用此方法从长远来看是否存在任何性能问题。
例如,假设我们有一个users 表。我通常会添加“最常用”的数据,而不是做任何额外的 JOIN。例如,当我说“最常用”的数据是用户名、显示图片和位置时。
在网站上显示任何用户交互时始终需要此数据,例如:在每个 comments 表上加入 articles。无需在 users 和 users_profiles 表上执行 JOIN 以获得“位置”和“显示”,只需使用 users 表上的信息即可。
这是我的方法,但是我知道有很多优秀且经验丰富的程序员可以就这件事给我一些建议。
我的问题是:
我应该尝试对 JOIN 保持保守吗?还是我应该更多地使用它们?为什么?
长期使用 JOIN 是否存在性能问题?
注意:我必须澄清一下,我根本不想避免 JOINS。我只在需要时使用它们。在此示例中,将是评论/文章作者、仅显示在用户个人资料页面上的额外个人资料信息......等等。
【问题讨论】:
-
我希望 Cletus 能够回答这个问题。他的答案非常出色且发展良好。希望有人能用 4 行以上的方式回答。
标签: mysql database database-design