mysql - 可扩展的一对多表(MySQL)

标签 mysql scalability one-to-many

我有一个 MySQL 数据库,该数据库中的一个特定表需要以一对多的方式进行自引用。为了可扩展性,我需要找到最有效的解决方案。对我来说最明显的两种方法是:

1)向表中添加一个文本字段,并在其中存储主键的序列化列表

2)保留一个链接器表,每一行都是一对一的。

在情况 #1 中,我看到表增长得非常非常宽(使用空间类比),但在情况 #2 中,我看到链接器表增长到非常大量的行,这会减慢查找速度(通过目前为止最常见的操作)。

在 MySQL 中实现这种一对多关系最有效的方式是什么?或者,也许有一个更明智的解决方案,以某种方式将数据全部直接保存在文件系统上,或者其他存储引擎上?

最佳答案

只需为“许多”保留一个表,并为主表保留一个键列。

我保证,在标准工业强度关系数据库管理系统中遇到效率或容量限制之前,您还有许多其他更重要的问题需要解决。

恕我直言,最有可能的第二种选择(有许多替代产品)是使用 isam。

关于mysql - 可扩展的一对多表(MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116533/

相关文章:

php - sql从单个表单输入中查询多个字段

mysql - 如何根据另一列或不同组对一列中的值求和?

c# - 线程池中大量线程处于等待状态,导致性能问题

spring - hibernate 中带有 onetomany 注释的 org.hibernate.exception.ConstraintViolationException

hibernate - 父级上有外键的子级没有级联插入

php - 从另一个 IP 使用 PDO 连接到 MySQL

mysql - PowerShell 脚本需要几个小时才能完成

azure - 为什么 Azure 资源组与特定区域关联?

google-app-engine - 最终 GAE 与 AWS 架构决策

hibernate - Grails:双向一对多导致无限递归(StackOverflow)