SqlServer查询某个数据库中表的数量?

SqlServer查询某个数据库中表的数量?,第1张

--查询所有用户定义表

select * from sys.objects Where type='U' And type_desc='USER_TABLE'

--用户定义表个数

select Count(0) as '用户定义表的个数' from sys.objects Where type='U' And type_desc='USER_TABLE'

sys.object是系统表,记录用户创建了哪些对象,这个表里会存:表、索引、存储过程、函数

不过sys.object只有08及其以后的版本才支持,05及以前的版本都是用的Sysobjects

名字差不多,性质一样

查数据库ProjectsA中的表数量写上完全限定名就好了

ProjectsA.sys.sysobjects,其他的和之前一样

select * from ProjectsA.sys.sysobjects Where type='U' And type_desc='USER_TABLE'

select Count(0) from ProjectsA.sys.sysobjects Where type='U' And type_desc='USER_TABLE'

至于status的作用,看这里

http://baike.baidu.com/link?url=wdKD3gDdMrwqdDnknc9QwO4nSaHbMq6CphZdx8FO7v96390RlQoOq7CWK7tVrW4X6e2ho8nbwCKuiRcwzKNSGOmCG_KghmxacCMyiedPqCK

会!肯定会影响!表越多运行越慢,即使表里面没有数据也一样!一般MYSQL控制在128个表左右,数据量控制在20G左右,运行效果基本不变,如果超过,速度肯定受影响。而且还要根据你的计算机配置而定,如果配置一般的话,128和20G都会很吃力的!

SQL Server 的每个数据库最多可存储 20 亿个表,每个表可以有 1024 列。

表的行数及总大小仅受可用存储空间的限制。每行最多可以存储 8,060 字节

如果创建具有 varchar、nvarchar 或 varbinary 列的表,并且列的字节总数超过 8,060 字节,虽然仍可以创建此表,但会出现警告信息。

如果试图插入超过 8,060 字节的行或对行进行更新以至字节总数超过 8,060,

将出现错误信息并且语句执行失败。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6660239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存