数据库:多个表还是只有一个表?

Ada*_*dam 4 database performance database-design comments

For example我有photosvideos表,我可以评论这些,但当我发送到数据库哪个方式更好?

  1. 要有2个评论表: photo_commentsvideo_comments

  2. 或者有一个表comments并在表格中创建一个行 type,如果它是a photo_comment或者那么放在那里 video_comment

我认为1速度更快,因为当我需要查询表时,我的数据更少,但可能2更容易使用.

请让我知道什么是最好的方式,速度对我来说非常重要.

我说的是一个拥有数百万条数据,数百万条评论的非常庞大的系统,所以我想要以最快的方式获得结果,对我来说无关紧要,如果我需要更多代码或者需要记住一些东西加上,结果更重要!

mar*_*c_s 7

如果你真的有两个单独的数据表photosvideos,我总是会选择使用两个单独的意见表,太.

为什么?

如果将所有注释放在一个comments表中,但引用来自两个单独数据表的媒体,则无法在注释表和两个数据表之间轻松设置参照完整性.有一些解决方法(比如有两个单独的引用字段,每个引用字段一个),但没有一个真正非常引人注目.没有参照完整性将最终导致不属于任何现有媒体条目的"僵尸"数据.

有两个注释表允许每个注释表正确引用其关联的数据表,因此数据库中的数据完整性将更好.

因此,如果您有两个单独的数据表,我总是会选择使用两个单独的注释表.