我计划设计一个可能需要存储大量数据的数据库。但我不确定我应该采用哪种方式?记录可能包含用户ID,记录日期,组,坐标等字段,也许还有其他属性,但关键是用户ID。 然后我可能必须调用(选择)或处理具有该用户ID的记录。可能有成千上万的用户ID,所以问题就在这里。
1-)每条记录;我应该直接将所有记录存储在一个表中?和 然后调用或处理它们,如“...... WHERE userId = 12345 ...”。
2-)每条记录;我应该检查是否存在表格 user id,如果没有创建一个用户id为表名的新表 并将其数据存储在该表中。然后调用或处理它们 “SELECT * FROM ...”。
那么你会建议我什么?
答案 0 :(得分:0)
关于使用许多数据库与许多表有不同的看法。共同的观点是,没有任何性能劣势。我更喜欢第一种方式(单桌)。项目已经完成,没有任何问题。我不需要一直改变桌子。但我的主要原因是因为编写许多表格样式会有点复杂和耗时。
1-)每条记录;我应该直接将所有记录存储在一个表中?然后调用或处理它们,例如" ... WHERE userId = 12345 ..."。
除此之外,这里有一个关于许多表的mysql.com链接。 在同一数据库中创建多个表的缺点 如果在同一数据库目录中有许多MyISAM表,则打开,关闭和创建操作很慢。如果在许多不同的表上执行SELECT语句,则表缓存已满时会有一些开销,因为对于每个必须打开的表,必须关闭另一个表。您可以通过增加表缓存中允许的条目数来减少此开销。 (http://dev.mysql.com/doc/refman/5.7/en/creating-many-tables.html)