我正在開發一個在線網站(使用Django和Mysql)。我有一個測試表和用戶表。在數據庫中存儲的正確方法
我有表內的50個測試和每個用戶按照自己的節奏完成它們。 如何將測試狀態存儲在我的數據庫中?即來到我的腦海
一個想法是創建在用戶表中的附加列。該列包含用逗號或任何其他分隔符分隔的testid。
userid | username | testscompleted 1 john 1, 5, 34 2 tom 1, 10, 23, 25
另一個想法是創建一個單獨的表來存儲userid和testid。所以,我只有2列但有數千行(沒有測試*沒有用戶),並且它們將一直持續增長。
userid | testid 1 1 1 5 2 1 1 34 2 10
但會導致表的大小增加。這是一個公共站點,假設所有用戶(比如10000)最終完成測試,將會有10000 * 50行。 – John 2012-03-30 02:41:25
@John 500,000行似乎很多,但它依然是數據庫標準的一個非常小的表格。假設每行包含3個int列。這是每行12個字節。 12字節* 500k行只有* 5.7MB *。 – 2012-03-30 05:56:02
@John:當你將有用的數據放入表中時,表應該會增長。 – 2012-03-30 09:54:30