问题描述
下午好,
在表的生命周期中,它会在行计数方面增长 (插入) 并减少 (删除),但它的空间范围并非如此。
我的理解是,当你删除行时,空闲块/扩展不会释放,如果插入新行,可以稍后使用。
那些 “不使用” 的块仍在表扫描期间被扫描,这是无用的。摆脱那些不需要的读取的一种解决方案是重建对象。
因此,我正在寻找一种方法 (SQL语句,报告),它将告诉我或给出提示,如果一个表应该重建,例如每个段的自由/使用范围的数量 (在我的情况下,每个表有一个段) 或每个段的数据文件的自由/使用范围的数量。
我的方法正确吗?
提前感谢
西蒙
在表的生命周期中,它会在行计数方面增长 (插入) 并减少 (删除),但它的空间范围并非如此。
我的理解是,当你删除行时,空闲块/扩展不会释放,如果插入新行,可以稍后使用。
那些 “不使用” 的块仍在表扫描期间被扫描,这是无用的。摆脱那些不需要的读取的一种解决方案是重建对象。
因此,我正在寻找一种方法 (SQL语句,报告),它将告诉我或给出提示,如果一个表应该重建,例如每个段的自由/使用范围的数量 (在我的情况下,每个表有一个段) 或每个段的数据文件的自由/使用范围的数量。
我的方法正确吗?
提前感谢
西蒙
专家解答
细分空间顾问是一个很好的起点。这详细说明了表中的可回收空间。和这样做的命令!
康纳有一个关于这个的演示https://connor-mcdonald.com/2019/05/31/advice-on-fragmentation-and-shrinkage/
康纳有一个关于这个的演示https://connor-mcdonald.com/2019/05/31/advice-on-fragmentation-and-shrinkage/
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




