我只是想從設計,效率和空間的角度來看,什麼是更好的選擇?自加入或使用兩個表,然後加入它們?mysql效率:自我連接與兩個表分開
我有一個存儲產品設計細節的MySQL數據庫,designer_type
可能是company_staff
或某個customer_type
。
最初我想到有兩張桌子,一張叫做staff_design
,另一張叫做customer_design
。
無論哪種方式的design
信息保持幾乎相同,不同之處在於,如果它是一個客戶,有跡象顯示staff_design並不需要兩個額外的列,其中之一是外鍵的staff_design
的ID,和其中一個是design_name
(用戶而不是員工可以添加的東西)。這兩列都可以是NULL。
所以,如果我設計的數據庫,這兩個表合併,只有一個design
表,那麼這個表將有額外的3列,可能是NULL經常:它會需要有design_type
(指定customer
,或staff
),然後是我上面提到的兩個額外的列。 (design_name
和staff_design
FK)。
哪種設計更好?
我傾向於單表設計,主要是爲了減少硬盤處理(獲取兩個不同的表而不是一個表)。那麼我將不得不使用大量的自聯接。
什麼被認爲是專業更好的方法?預計員工設計人員可以節省數千個設計,而只有高級客戶和額外收費的客戶才能節省他們自己的定製設計。所以肯定會有比客戶設計更多,更多的員工設計。
您能否在'design'表中記錄計數的數量級(在一個表的情況下)添加一些信息。 – bpgergo
編輯了這個問題在最後添加它。 – user961627