MySQL 数据库设计优化
MySQL Database Design Optimization
(首先,抱歉,如果之前有人问过这个问题,我搜索了一段时间,但有时很难找到更早的具体问题)
我目前正在使用订单管理系统(PHP、MySQL、HTML...)并且我正在考虑对下一次迭代的数据库模式进行一些更改.
我有 tables,例如 Order、Purchase_Order、Inquiry,还有一些都有“notes”、“files”和一两个共享组件。现在它们都存储在各自的 table 中(Order_Note、Purchase_Order_Note、Order_File 等)。 我的问题是将“注释”合并成一个 table 有什么好处吗?
提议:
table "Order" (Purchase_Order, etc..) stores all order-specific fields
table "Order_Note_Map" (PO_Note_Map, etc..) stores the ID of the order and ID of the related note
table "Notes" stores a notes details
编辑:
-数据库目前在 table 中分布的“注释”总数不到 3,000 个,而且这个数字还在增加,但速度并不显着,与我的其他项目的记录数量大致相同询问
-回顾过去,我认为当前系统的一个重要警告是更改“音符”的组件。而不是更改一个 table 我必须对多个进行相同的更改。如果我能避免主要的数据库更改,那没什么大不了的
如果您能说出您在这些表中有多少记录或期望有多少记录,这个问题就很清楚了。如果它们的数量很大,那么我建议合并成一个会有所帮助,因为您不会连接表来获取数据。在大型数据集中加入成本很高。
简短的回答是否定的,因为你只会有更少的连接,而且听起来你必须做很多改变才能改变这个东西。如果您的数据库是 "huge",那么将注释放入单个 table 中是明智的,但如果您的数据库不会太大,则不会有任何改变。只会快一点。
(首先,抱歉,如果之前有人问过这个问题,我搜索了一段时间,但有时很难找到更早的具体问题)
我目前正在使用订单管理系统(PHP、MySQL、HTML...)并且我正在考虑对下一次迭代的数据库模式进行一些更改.
我有 tables,例如 Order、Purchase_Order、Inquiry,还有一些都有“notes”、“files”和一两个共享组件。现在它们都存储在各自的 table 中(Order_Note、Purchase_Order_Note、Order_File 等)。 我的问题是将“注释”合并成一个 table 有什么好处吗?
提议:
table "Order" (Purchase_Order, etc..) stores all order-specific fields
table "Order_Note_Map" (PO_Note_Map, etc..) stores the ID of the order and ID of the related note
table "Notes" stores a notes details
编辑:
-数据库目前在 table 中分布的“注释”总数不到 3,000 个,而且这个数字还在增加,但速度并不显着,与我的其他项目的记录数量大致相同询问
-回顾过去,我认为当前系统的一个重要警告是更改“音符”的组件。而不是更改一个 table 我必须对多个进行相同的更改。如果我能避免主要的数据库更改,那没什么大不了的
如果您能说出您在这些表中有多少记录或期望有多少记录,这个问题就很清楚了。如果它们的数量很大,那么我建议合并成一个会有所帮助,因为您不会连接表来获取数据。在大型数据集中加入成本很高。
简短的回答是否定的,因为你只会有更少的连接,而且听起来你必须做很多改变才能改变这个东西。如果您的数据库是 "huge",那么将注释放入单个 table 中是明智的,但如果您的数据库不会太大,则不会有任何改变。只会快一点。