[英]Database design and query optimization/general efficiency when joining 6 tables in mySQL
[英]MySQL Database Design Optimization
(首先,對不起,如果以前已經問過這個,我搜索了一段時間,但有時很難找到一個較舊的特定問題)
我目前正在使用訂單管理系統(PHP,MySQL,HTML ...),並且正在考慮對下一次迭代的數據庫架構進行一些更改。
我有諸如Order,Purchase_Order,Inquiry之類的表,還有另外一些表,它們都具有“注釋”,“文件”以及一個或兩個以上共享組件。 現在,它們都存儲在各自的表中(Order_Note,Purchase_Order_Note,Order_File等)。 我的問題是將“注釋”組合到一個表格中會不會有好處?
建議:
表“訂單”(Purchase_Order等)存儲所有特定於訂單的字段
表“ Order_Note_Map”(PO_Note_Map等)存儲訂單的ID和相關注釋的ID
表“注釋”存儲注釋詳細信息
編輯:
-目前,數據庫在表中分布的總“筆記”少於3,000個,該數字增加但幅度不大,與我要詢問的其他項目的記錄數目大致相同
回想一下,我認為當前系統的一個重要警告是更改了“音符”的組成部分。 而不是更改一個表,我必須對多個表進行相同的更改。 如果可以避免重大數據庫更改,那沒什么大不了的
如果您能告訴您這些表中或預期中有多少記錄,這個問題將很清楚。 如果它們的容量很大,那么我建議將它們合並為一個將很有幫助,因為您不必聯接表來獲取數據。 在大數據集中加入將是昂貴的。
簡短的回答是“否”,因為您將只有較少的聯接,並且聽起來您將不得不進行很多更改才能更改此內容。 如果您的數據庫“很大”,將注釋放入單個表將很明智,但是如果您的數據庫不會很大,則不會進行任何更改。 只會更快一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.