2020-08-22 21:18发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好, 我想在单独的列中列出所有... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好,
我想在单独的列中列出所有表的大小(至少前1000个),数据大小和索引大小,
在DBACOCKPIT上,我只能显示 前500位,并且不能在同一列表上显示数据和索引大小。
索引大小与单表分析一起提供。
是否存在可以在SQL命令行上运行的SQL语句 此列表吗?
您能帮忙吗?
致谢
Yuksel AKCINAR
但是您说您拥有SQL命令行...????
您可以使用:
选择前100名-或其他任何前几名
左(a.name,50)作为TableName,
左(b.name,50)作为IndexName,
c.rowcnt作为行,
c.pagecnt * 2作为DataKBytes,
c.leafcnt * 2为IndexKBytes,
c.pagecnt * 2 + c.leafcnt * 2为TotalKBytes
来自{YOURDB} .. sysobjects,
{YOURDB} .. sysindexes b,
{YOURDB} .. systabstats c
其中b.id = a.id
和c.id = a.id
和c.indid = b.indid
按3 desc排序-或结果集中的任何其他列
您可以在每个数字列上用sum()对其进行汇总,并按left(a.name,50),left(b.name,50)添加组,以使其在一张表的每一行中显示-如果您不这样做 不想按索引细分...您可能希望先运行sp_flushstats来将内存中的统计信息刷新到磁盘上-但您可能无法这样做,所以请期待不精确。
玩得开心...
最多设置5个标签!
但是您说您拥有SQL命令行...????
您可以使用:
选择前100名-或其他任何前几名
左(a.name,50)作为TableName,
左(b.name,50)作为IndexName,
c.rowcnt作为行,
c.pagecnt * 2作为DataKBytes,
c.leafcnt * 2为IndexKBytes,
c.pagecnt * 2 + c.leafcnt * 2为TotalKBytes
来自{YOURDB} .. sysobjects,
{YOURDB} .. sysindexes b,
{YOURDB} .. systabstats c
其中b.id = a.id
和c.id = a.id
和c.indid = b.indid
按3 desc排序-或结果集中的任何其他列
您可以在每个数字列上用sum()对其进行汇总,并按left(a.name,50),left(b.name,50)添加组,以使其在一张表的每一行中显示-如果您不这样做 不想按索引细分...您可能希望先运行sp_flushstats来将内存中的统计信息刷新到磁盘上-但您可能无法这样做,所以请期待不精确。
玩得开心...
一周热门 更多>