Mysql 使用超类表在数据库中建模继承的性能

Mysql 使用超类表在数据库中建模继承的性能,mysql,performance,database-design,database-performance,Mysql,Performance,Database Design,Database Performance,我的问题,实际上是关于我的概念/想法的可用性/性能的问题: 设置: 在我的数据库中,两个(实际上是三个)字段总是不断地重新出现:title和description(和created)。标题始终是VARCHAR(100),描述始终是TEXT 现在,为了简化这些表,我考虑了一些事情(并以这种方式对其进行了更改):创建一个名为content、id、title、description和created的表,并始终从所有其他字段中指向该表,这不是更有用吗 例如: 表选项卡具有id,键和内容id(而不是标题,

我的问题,实际上是关于我的概念/想法的可用性/性能的问题:

设置:

在我的数据库中,两个(实际上是三个)字段总是不断地重新出现:
title
description
(和
created
)。标题始终是
VARCHAR(100)
,描述始终是
TEXT

现在,为了简化这些表,我考虑了一些事情(并以这种方式对其进行了更改):创建一个名为
content
、id、
title
description
created
的表,并始终从所有其他字段中指向该表,这不是更有用吗

例如:

选项卡
具有
id
内容id
(而不是
标题
说明
已创建

章节
id
故事id
内容id
(“”)

问题:

到目前为止一切正常,但我唯一担心的是性能。我这样做会遇到瓶颈吗,还是会没事?我现在有大约23个不同的表指向
内容
,其中一些表将包含用户定义的内容(期刊、评论等)-因此
内容
中的条目数量可能会相当高

这种设置是否更好,或者等同于在每个单独的表中都有
标题
说明

编辑:如果结果是一个坏主意,那么除了将某些字段(如
title
description
复制到~25个表中)之外,还有什么替代方法


提前感谢您的帮助

>P>你的问题没有明确的答案,因为它主要取决于表的使用,所以请考虑以下几点:

  • 您需要多久写入一次表?如果多个插入/更新的数据位于一个大表中,则可能会导致问题,因为所有写入操作都将针对同一个表
  • 您多久需要一次存储在表中的数据以及常用数据?如果您选择的大多数时间都不需要
    标题
    说明
    ,则可以。如果您每次都需要
    title
    ,那么请考虑您必须始终使用公共数据
    连接
  • 如何管理数据库架构?编写一些简单的工具来创建/检查表结构会更容易。在MySQL中,您可以使用
    descripe table\u name
    或通过
    INFORMATION\u SCHEMA
    数据库轻松访问数据字典

  • 我正在处理700多个表的项目,其中一些字段必须出现在每个表中(记录是在什么时候创建的,上次修改的时间戳)。我们有一个简单的脚本可以帮助实现这一点,因为将所有数据放在一个表中将是灾难性的。

    对我来说这听起来是一个很好的方法。谢谢,我决定将数据表拆分,并将这些列分别添加到每个表中。根据您的问题-更多的初始工作,但最终可能会更好(更少的连接等)