可以参考从数据库的SYSOBJECTS或syscolumns表中查找一个记录的效率,
我个人认为,几百,到上万张表的查询效率差对使用者没什么感觉--表内数据量的影响要大得多。
还有,
一个数据库中所有对象的总数(包括表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束)不得超过 2,147,483,647。
我个人认为,几百,到上万张表的查询效率差对使用者没什么感觉--表内数据量的影响要大得多。
还有,
一个数据库中所有对象的总数(包括表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束)不得超过 2,147,483,647。
每个数据库的文件个数<= 32,767,每个文件<= 32 TB,
不过,一般的硬盘有那么大吗?
以上是你可分配的空间,再看看你占用的空间情况:
对于每条记录,每个 text、ntext、或 image 列的字节数<=2 GB-2
而你建的索引什么的都是要占用空间的。但我也想到一个限制。比如,你在INT字段上建立主键,那么,存储记录数就在INT的范围内。
关于表的数量对数据库执行速度的影响:有没有一个衡量的办法?
比如有两个数据库a和b,a的表有1亿个,b的表有几个(除了系统表),其他的对象都一样比较少
现在同样执行一条语句select*from table1(table1是a,b都具有的一样的表,有很多的记录),
他们的执行速度一样吗,如果a的多,多的幅度是多少
在其他影响因素都一样的情况下,我想理论上A会多一些,至于幅度、恐怕说不上来,要问专家了。
所谓的影响因素,我想软的至少包括:TABLE1的索引、TABLE1记录内容、分页大小、等等。其实,这些对使用者来说,并没有太大的意义或影响。
设计合理的表结构,合理的索引、使用高效的SQL语句,才是关键所在。