可以参考从数据库的SYSOBJECTS或syscolumns表中查找一个记录的效率,
我个人认为,几百,到上万张表的查询效率差对使用者没什么感觉--表内数据量的影响要大得多。
还有,
一个数据库中所有对象的总数(包括表、视图、存储过程、扩展存储过程、触发器、规则、默认值及约束)不得超过 2,147,483,647。

解决方案 »

  1.   

    表内记录数的多少和存储能力相关,比如,你给数据库多大空间,一张表内每条记录的大小又是多少。理论上,SQL SERVER 2000
    每个数据库的文件个数<= 32,767,每个文件<= 32 TB,
    不过,一般的硬盘有那么大吗?
    以上是你可分配的空间,再看看你占用的空间情况:
    对于每条记录,每个 text、ntext、或 image 列的字节数<=2 GB-2
    而你建的索引什么的都是要占用空间的。但我也想到一个限制。比如,你在INT字段上建立主键,那么,存储记录数就在INT的范围内。
      

  2.   

    关于记录数的,看来在空间的允许下还是可以无限量增加的,当然排除数据类型的限制;
    关于表的数量对数据库执行速度的影响:有没有一个衡量的办法?
    比如有两个数据库a和b,a的表有1亿个,b的表有几个(除了系统表),其他的对象都一样比较少
    现在同样执行一条语句select*from table1(table1是a,b都具有的一样的表,有很多的记录),
    他们的执行速度一样吗,如果a的多,多的幅度是多少
      

  3.   

    我认为两者很难有确定的比较,
    在其他影响因素都一样的情况下,我想理论上A会多一些,至于幅度、恐怕说不上来,要问专家了。
    所谓的影响因素,我想软的至少包括:TABLE1的索引、TABLE1记录内容、分页大小、等等。其实,这些对使用者来说,并没有太大的意义或影响。
    设计合理的表结构,合理的索引、使用高效的SQL语句,才是关键所在。