【SQL-Server】实现批量查询数据库表所占空间.doc

【SQL-Server】实现批量查询数据库表所占空间.doc

ID:57568681

大小:242.00 KB

页数:5页

时间:2020-08-27

【SQL-Server】实现批量查询数据库表所占空间.doc_第1页
【SQL-Server】实现批量查询数据库表所占空间.doc_第2页
【SQL-Server】实现批量查询数据库表所占空间.doc_第3页
【SQL-Server】实现批量查询数据库表所占空间.doc_第4页
【SQL-Server】实现批量查询数据库表所占空间.doc_第5页
资源描述:

《【SQL-Server】实现批量查询数据库表所占空间.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、【SQLServer】实现批量查询数据库表所占空间当我们进行大数据量操作的时候,很想知道数据库中哪些表进行的逻辑次数最多,还有就是所有表所占空间大小,以应对表数据量过大给内存增加的负担,对于单个表如何查询所在空间大小应该是很简单的了,如果数据库中有几十个甚至几百个表的时候,单表操作的语句我估计肯定没有人愿意去用,接下来,我就来给大家说一下我所使用的批量查询数据库表所占空间大小的方法。 工具/原料· SQLServer2005步骤/方法1.首先来讲一下我的思路,在要批量查询的数据库中新建一个表,主要负责收集本数据库中所有表的表名,然后通过一个insert的触发器,每次向表里添加

2、表名,都会触发这个触发器,这个触发器的作用就是每添加一条信息,就直接显示出这个表名所对应的表所占空间大小。2.我们首先来创建一个数据库辅助表,当然了,这不是关键的部分,这里就省略代码了,会基本数据库操作的朋友应该都了解这个语句啦。3.辅助表创建完成以后呢,说一下需求,就是我想要知道这个数据库中所有表所占的空间大小以及其他的信息,那接下来,我们就需要给AddTable这个表创建一个触发器了。1.虽然看似简单的几句,可是还是需要解释一下这个触发器的构造,希望能够对新手有帮助,首先,第一行的意思就是我们创建了一个叫mytrigger的触发器,这个触发器是作用在AddTable表上的

3、。2.afterinsert的意思就是触发器触发的时间,就是在执行添加语句之后触发,还不理解的,直接翻译英文即可。after...之后;insert新增,添加。1.接下来就好理解了,在之前的经验里有涉及到,定义一个varchar类型的sql参数,大小为max,然后初始化sql参数为空字符。2.然后我们就利用EXECUTE执行动态语句,其实这里的“execsp_spaceused[表名]”就是我们常用的查询单表所占空间大小的语句,这里表名所在的位置为什么是TableName呢?或许很多人都有这个疑问,很简单,因为AddTable的列名就是TableName。1.到这里,触发器就

4、已经创建好了,就等对AddTable表进行添加操作来触发它了,接下来,我们根据之前的需求,把这个数据库中的表名查询出来,然后都添加到AddTable表中。首先我们来看一下如何查询数据库中所有的表名。语句就是:selectNamefromsysobjectswherextype='u'2.能查询出来,那接下来,我们就进行添加,语句为:InsertAddTableselectNamefromsysobjectswherextype='u'1.执行后,我们会发现,在数据库进行逻辑添加的过程中,对应的表的数据也就出来了。注意事项·如果看不懂的,自己就先去学习一下触发器trigger的

5、相关知识。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。