数据库中表继承的性能开销

时间:2012-09-04 19:53:43

标签: php performance inheritance join database-design

我目前正试图找到一种很好的方法来创建我未来的网站,我想知道:在数据库(主要但不仅仅是MySQL)中使用表进行继承是不可忽视的额外的性能成本?

我的想法是将常见的东西与网站特定的东西分开。 例如,让我们考虑一个用户表。 常见的东西可能是:

User :
- Id
- Login
- Password

和具体的东西可能是:

Member :
- Id references User.Id
- Name
- Surname
- Email
- Age
- Sex

也适用于图片:

Image :
- Id
- Alt
- Title
- Src

壁纸:

- Id references Image.Id
- DominantColor
- Author
- Uploader

我的目标是拥有一个可重复使用的核心"对于我的每个网站,以这种方式制作我的表可能是这项工作的一部分。

此外,我非常关注性能,因为我希望我的网站得到优化。那么额外加入的成本会有多大?

1 个答案:

答案 0 :(得分:0)

了解真实情况的唯一方法是进行基准测试。通常它不会是一个问题,但如果你在非常大的表上有很多连接,你会看到性能下降。

我几乎看不出这种结构如何为您节省开发时间,只能看到它会增加复杂性,因此会花费您额外的时间进行开发和调试。