2012-01-23 68 views
1

我有一個電話本應用MySQL的哪個方法更快

第一個(稱爲成員)包括全名和唯一ID 第二個(稱爲電話)2個表包括ID(電話ID)和MEMBERID(這個電話屬於哪個成員)和電話號碼。

顯示成員的電話號碼。

我應該爲表格成員添加一個新字段來存儲電話ID數組,並在每次成員將電話添加或刪除到他的通訊錄時更新它? 來打印通訊簿,我會得到數組,並查詢到手機表!

不在會員表中存儲id。並且只需查詢其中memberID = XX

哪一個更好更快?

+1

第二種選擇似乎更符合邏輯。更容易查詢和更新。 – magicalex

回答

2

您的第二個選擇是編程和故障排除更簡單。用它。

您的第一個選擇是DBMS術語中的「非規範化」。有時用非常大的表對數據庫進行非規範化處理以加快速度是有意義的。但是mySQL是一個很好的關係數據庫,並且可以像你所描述的那樣在規範化的表格中運行良好。

當您的應用程序增長並且您的電話號碼錶中有超過一億行時,您可能會發現非規範化是有意義的。現在,它不。