目前的情況是,主題按3個主要類別排序。有可能增加的不僅僅是3個類別,而是更高層希望實現爲一個主題添加不止1個類別的能力。我應該創建另一個表還是僅使用數組? (規範化或不規範化)
我的原始數據庫設計在主題信息表中具有categoryID作爲外鍵。從一開始,這可能是一個糟糕的主意,但我想他們只設置了3個類別,並且這樣做會減少查詢次數。
因此,從我所看到的我現在有兩個選項: 1)輸入categoryID作爲一個逗號分隔的字符串,我解析的PHP結束。 2)重新構造數據庫並將categoryID拉出到它自己的categoryID和topicID表中。
我想知道每個人都認爲這是什麼。我的第一本能是重組數據庫。但是當我考慮這個問題時,第一個選擇是實現最簡單,並且最不可能通過改變數據庫來打破現有的問題。這也可能導致不規範化,並且會導致數據不一致的可能性。
我已經閱讀了解除歸一化問題,只要您接受以不一致的數據換取性能的風險即可。在您看來,我會因此風險而獲得很多業績嗎?對於我在這種情況下應該做的任何投入將不勝感激。
感謝您的幫助,
列維
所有的優點,你的第三個關於是不可擴展的是我最初用我的數據庫設計進入這個問題。 – Levi 2009-10-29 03:03:03
+1此外,執行各種聚合查詢更困難,例如對列表中的值進行計數,求和或平均。 – 2009-10-29 03:03:04