gpt4 book ai didi

mysql - 使用父类(super class)表在数据库中建模继承的性能

转载 作者:行者123 更新时间:2023-11-30 01:01:51 24 4
gpt4 key购买 nike

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

设置:

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

现在,为了简化这些表,我想到了一些事情(并以这种方式进行了更改):仅创建一个名为 content 的表不是更有用吗? ,与 id , title , descriptioncreated作为唯一的字段,并且始终从所有其他表指向该表?

示例:

tabid , keycontent_id (而不是 titledescriptioncreated )

chapterid , story_idcontent_id (“”)

等等

问题:

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

这个设置是否更好,或者等于 titledescription在每个单独的表中?

编辑:如果事实证明这是一个坏主意,那么维护/复制某些字段(如title)的替代方法是什么?和description大约 25 张 table ?

预先感谢您的帮助!

最佳答案

您的问题没有明确的答案,因为它主要取决于表格的使用,因此只需考虑以下几点:

  1. 您需要多久写入一次表?如果在一个大表中进行多次插入/更新,则可能会导致问题,因为所有写入操作都将针对同一个表。
  2. 您多久需要将数据存储在具有通用数据的表中?如果您的大部分时间不需要 titledescription选择这个就可以了。如果您每次都需要title,那么请考虑到您始终必须JOIN表与通用数据。
  3. 如何管理数据库架构?编写一些简单的工具来创建/检查表结构会更容易。在 MySQL 中,您可以使用 DESCRIBE table_name 或通过 INFORMATION_SCHEMA 数据库轻松访问数据字典。

我正在开发一个包含 700 多个表的项目,其中某些字段必须出现在每个表中(记录创建时间、上次修改的时间戳)。我们有一个简单的脚本可以帮助解决这一问题,因为将所有数据都放在一个表中将是灾难性的。

关于mysql - 使用父类(super class)表在数据库中建模继承的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20050692/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com