如何解决将单个表分成两个表
考虑具有50列的表dbo.order。将其30个字段分成另一个表bill_invoice的好方法吗?详细信息如下:
表格(订单)
id(pk); order_id; order_amont; ...最多20个字段
表(bill_invoice)
id(pk); order_id(来自dbo.order表的fk); field_1; field_2 .... up to field_30
....及其详细信息表是:
表(bill_detail_01)
id(pk); bill_invoice_id(来自dbo.bill_invoice的fk); field_1,field2 ...到field_10
表(bill_detail_02)
id(pk); bill_invoice_id(来自dbo.bill_invoice的fk); field_1,field2 ...到field_10
表(bill_detail_03)
id(pk); bill_invoice_id(来自dbo.bill_invoice的fk); field_1,field2 ...到field_10
。 。 。
如果我们有一个表dbo。[order]有50个字段,那么在插入50个字段记录时会很重吗?
那我们应该把这个主要的dbo。[order]字段分解成另一个表(bill_invoice)吗?如上所述吗?
这是减少插入负载的好方法吗?还是应该只使用dbo。[order]具有50个字段?
解决方法
我认为现代数据库系统无法处理50个数据字段的数据插入/更新操作。
如果将数据拆分到不同的表中,则说如果要删除一条记录,则需要删除所有“拆分”表中的所有“链接”记录。工作量甚至会更大。
另一方面,如有必要,将使用标准化。例如,如果您想减少冗余或类似目的。但这通常与数据插入加载问题无关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。