我有一个 MySQL 数据库,该数据库中的一个特定表需要以一对多的方式进行自引用。为了可扩展性,我需要找到最有效的解决方案。对我来说最明显的两种方法是:
1)向表中添加一个文本字段,并在其中存储主键的序列化列表
2)保留一个链接器表,每一行都是一对一的。
在情况 #1 中,我看到表增长得非常非常宽(使用空间类比),但在情况 #2 中,我看到链接器表增长到非常大量的行,这会减慢查找速度(通过目前为止最常见的操作)。
在 MySQL 中实现这种一对多关系最有效的方式是什么?或者,也许有一个更明智的解决方案,以某种方式将数据全部直接保存在文件系统上,或者其他存储引擎上?
最佳答案
只需为“许多”保留一个表,并为主表保留一个键列。
我保证,在标准工业强度关系数据库管理系统中遇到效率或容量限制之前,您还有许多其他更重要的问题需要解决。
恕我直言,最有可能的第二种选择(有许多替代产品)是使用 isam。
关于mysql - 可扩展的一对多表(MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1116533/