将一个更大的数据库表分成更多表是个好主意吗

Posted

技术标签:

【中文标题】将一个更大的数据库表分成更多表是个好主意吗【英文标题】:Is it a good idea to break one bigger database table into more tables 【发布时间】:2011-06-03 06:00:34 【问题描述】:

我说的是我们有订单和客户表的电子商务系统数据库场景。

事实上,一张表(订单)中有大约 160 个字段,它包含所有信息、账单运输信息、所有订单金额、所有额外费用、所有信用卡及其欺诈相关信息、所有运输信息、所有状态

我很困惑,我是否应该将更大的表格分成更多表格,例如将其分解为下表、order_payments、order_billing_shipping、order_credit_card_info...等? 所有这些都将具有一对一的关系

我必须在 mysql 中管理它。我可以做到,但由于它是一个包含大量数据的大型应用程序,我担心性能,我认为连接会使其变慢...

你认为视图和/或索引可以解决这个问题吗?

我会很感激任何想法

【问题讨论】:

您当前的结构是否有问题?为什么你觉得你需要改变它? 视图/索引与拆分表有什么关系?目前尚不清楚您遇到了什么问题。 【参考方案1】:

如果数据是标准化的,那真的没那么重要。但如果您发现重复数据,您可能需要应用适当的规范化规则将其分解为单独的表格。

【讨论】:

以上是关于将一个更大的数据库表分成更多表是个好主意吗的主要内容,如果未能解决你的问题,请参考以下文章

使用触发器链接到数据仓库中事实表中的时间维度是个好主意吗?

动态 SQL 表是个好主意吗?

Firebase:在 NoSQL 中使用维度/事实表设计是个好主意吗

在 Postgres 中使用审计表为 NOTIFY/LISTEN 创建触发器是个好主意吗?

将数以亿计的小图像存储到键/值存储或其他 nosql 数据库是个好主意吗?

在 Web 服务 URL 中使用加密的数据库 ID 而不是 UUID 是个好主意吗?