繁体   English   中英

哪种方法可以在数据库中存储和处理大量数据? 将所有内容存储在一个表中,还是通过ID(属性)为每个表创建新表?

[英]Which way is legitimate to store &process big amounts of data in database? Store all in one table or create new table by id (property)for each?

我打算设计一个数据库,该数据库可能必须存储大量数据。 但是我不确定应该使用哪种方式? 记录中可能包含用户ID,记录日期,组,坐标以及其他类似属性,但关键是用户ID。 那么我可能必须调用(选择)或处理具有该用户ID的记录。 可能有成千上万的用户ID,所以这是问题所在。

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

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

那你会建议我什么呢?

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM