我正在开发一个在线网站(使用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