MySQL中的元表

用户名

我正在重写一个当前链接到大约1GB大小的MySQL数据库的系统。有成千上万的文章,每篇文章都有贡献者列表(以Wiki风格为例)。尚未授予我访问现有数据库架构的权限,但是在我等待期间,我进行了一些头脑风暴。

基本上,我想知道的是拥有article_contributors表是否是处理此问题的有效方法,或者是否有更好的方法来处理这种情况。考虑到大约有200,000篇文章,如果每篇文章有5个贡献者,那么在元表中将有1,000,000行。

比尔·卡温

我将其称为一对多表,而不是“元”表。否则为多值属性。

将贡献者存储在单独的表中(每行一个)是设计关系数据库的正确方法可能还有其他存储数据的方法,但是它们不是关系型的。

考虑一下我的回答:在数据库列中存储分隔列表真的那么糟糕吗?将贡献者以列表的形式存储在articles表中会导致许多常见的SQL查询中断或效率低下。如果您需要对这些数据进行各种查询,您将感谢您以标准化的方式存储数据。

在另一方面,如果你从来没有询问什么,但作为一个不可分割的单元贡献者列表中,那么为什么不存储它去标准化(如列表)?这也是一个有效的选择-但这取决于您如何使用表格。

顺便说一句,按某些人的标准,一百万行不是一个大型的MySQL数据库。本周,我为一个拥有9亿行表的客户提供咨询。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章