哪种方式合法存储和处理数据库中的大量数据?将所有内容存储在一个表中,还是按id(属性)为每个表创建新表?

时间:2014-03-20 10:05:19

标签: php mysql sql database database-design

我计划设计一个可能需要存储大量数据的数据库。但我不确定我应该采用哪种方式?记录可能包含用户ID,记录日期,组,坐标等字段,也许还有其他属性,但关键是用户ID。 然后我可能必须调用(选择)或处理具有该用户ID的记录。可能有成千上万的用户ID,所以问题就在这里。

  

1-)每条记录;我应该直接将所有记录存储在一个表中?和   然后调用或处理它们,如“...... WHERE userId = 12345 ...”。

     

2-)每条记录;我应该检查是否存在表格   user id,如果没有创建一个用户id为表名的新表   并将其数据存储在该表中。然后调用或处理它们   “SELECT * FROM ...”。

那么你会建议我什么?

1 个答案:

答案 0 :(得分:0)

关于使用许多数据库与许多表有不同的看法。共同的观点是,没有任何性能劣势。我更喜欢第一种方式(单桌)。项目已经完成,没有任何问题。我不需要一直改变桌子。但我的主要原因是因为编写许多表格样式会有点复杂和耗时。

1-)每条记录;我应该直接将所有记录存储在一个表中?然后调用或处理它们,例如" ... WHERE userId = 12345 ..."。

除此之外,这里有一个关于许多表的mysql.com链接。 在同一数据库中创建多个表的缺点 如果在同一数据库目录中有许多MyISAM表,则打开,关闭和创建操作很慢。如果在许多不同的表上执行SELECT语句,则表缓存已满时会有一些开销,因为对于每个必须打开的表,必须关闭另一个表。您可以通过增加表缓存中允许的条目数来减少此开销。 (http://dev.mysql.com/doc/refman/5.7/en/creating-many-tables.html