gpt4 book ai didi

mysql效率: self join versus two tables split

转载 作者:搜寻专家 更新时间:2023-10-30 20:11:09 26 4
gpt4 key购买 nike

我只是想知道从设计、效率和空间的角度来看,什么是更好的选择?自连接还是使用两个表然后连接它们?

我有一个存储产品设计细节的 MySQL 数据库,designer_type 可以是 company_staff,也可以是某个 customer_type

最初我想有 2 个表,一个名为 staff_design 和一个名为 customer_design

无论哪种方式,design 信息几乎保持不变,除了如果是客户,则有两个额外的列是 staff_design 不需要的,其中一个是 ID 的外键一个 staff_design,一个是 design_name(用户而非员工可以添加的内容)。这两列都可以为 NULL。

因此,如果我设计数据库以便合并这两个表并且只有一个 design 表,那么这个表将有 3 个额外的列,这些列可能经常为 NULL:它需要有 design_type(指定 customerstaff),然后是我上面提到的两个额外的列。 (design_namestaff_design FK)。

哪种设计更好?

我倾向于单表设计,主要是为了减少硬盘处理(获取两个不同的表而不是一个)。然后我将不得不使用大量的自连接。

什么在专业上被认为是更好的方法? staff_designers 预计将保存数以千计的设计,而只有高级客户和额外付费的客户才会保存他们自己的定制设计。因此,员工设计肯定会比客户设计多很多。

最佳答案

由于记录量级只有几千条,建议还是单表设计。这将使您的生活更轻松,并且表格的大小并不能证明拆分表格的优化是合理的。

关于mysql效率: self join versus two tables split,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12687066/

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