Sql 拥有百万+;同一数据库中的表?

Sql 拥有百万+;同一数据库中的表?,sql,sql-server,database,sql-server-2008,Sql,Sql Server,Database,Sql Server 2008,我设计了一个数据库,它将动态创建表并将数据加载到其中。 (单个用户的数据存储在单个表中) 因此,现在我的数据库有大约一百万个以上的表,其中2%有数百万行,30%有近一百万条记录,68%每个表有1000-10000行(但都在单个数据库中) 其中大约10-20%的表具有相同的模式 DB的内存安全吗? 它会影响我查询的性能吗 或者我应该将所有这10%的数据合并到一个表中吗? 如果合并,它会节省空间吗?实现规范化是针对您的情况的最佳优化。尽可能多地合并以提高性能。根据经验,创建数据库对象(如表、视图、存

我设计了一个数据库,它将动态创建表并将数据加载到其中。 (单个用户的数据存储在单个表中)

因此,现在我的数据库有大约一百万个以上的表,其中2%有数百万行,30%有近一百万条记录,68%每个表有1000-10000行(但都在单个数据库中)

其中大约10-20%的表具有相同的模式

DB的内存安全吗? 它会影响我查询的性能吗

或者我应该将所有这10%的数据合并到一个表中吗?
如果合并,它会节省空间吗?

实现规范化是针对您的情况的最佳优化。尽可能多地合并以提高性能。根据经验,创建数据库对象(如表、视图、存储过程等)是设计时操作,而不是运行时操作。您可能会达到RDBMS的极限。否则,多个表意味着访问它的代码更简单,查询速度更快,索引更小,等等。另一方面,很多表很难进行概述。几乎总是这样,这取决于您的需求。我认为还有一个特点需要提供:任何这样的表的寿命是多少?也就是说,这些用户表从创建到结束是否会收到更新/插入?此外,我正在检查一些数学。。。您有300000个表,每个表有上百万条记录,这意味着总共有超过3000亿条记录(!)表的增长率是多少?实现规范化是针对您的情况的最佳优化。尽可能多地合并以提高性能。根据经验,创建数据库对象(如表、视图、存储过程等)是设计时操作,而不是运行时操作。您可能会达到RDBMS的极限。否则,多个表意味着访问它的代码更简单,查询速度更快,索引更小,等等。另一方面,很多表很难进行概述。几乎总是这样,这取决于您的需求。我认为还有一个特点需要提供:任何这样的表的寿命是多少?也就是说,这些用户表从创建到结束是否会收到更新/插入?此外,我正在检查一些数学。。。您有300000个表,每个表有上百万条记录,这意味着总共超过3000亿条记录(!)表的增长率是多少?