Die*_*oto 5 performance sql-server tuning
我找不到满意的答案。我完全理解“收缩”会导致索引碎片整理,这会降低性能。
但是,这不是减少碎片整理的选项吗?
那么,激活这个选项是好是坏?请不要增加我的困惑。我请你给我一个明确而简单的答案:要么更好,要么更糟。
然后如果你愿意,给我你的解释,我会很乐意阅读和欣赏。
这相当于缩小。要证明这一点,请选中该框并单击顶部的“脚本”按钮以查看它生成的收缩命令。
一般来说,这也是一个很好的学习工具 - 每当您想了解 UI 中的某些内容时,请尝试使用该脚本按钮。
小智 7
与现有答案相反,除了允许您指定大小之外,这确实对 SQL 进行了更改,如下面两个生成的脚本所示(至少在我的企业管理器版本 - SQL Server 2017 上)。
-- Checkbox Unchecked
DBCC SHRINKFILE (N'My_DB' , 0, TRUNCATEONLY)
-- Reorganise Checkbox Checked
DBCC SHRINKFILE (N'My_DB' , 48491)
Run Code Online (Sandbox Code Playgroud)
对于未选中的选项,TRUNCATEONLY应用它会阻止 SQL Server 执行任何数据重组。如果您想快速释放一些空间而不立即影响性能,那么这非常有用,但它会影响持续的性能,因为数据库将变得碎片化。
TRUNCATEONLY 将文件末尾的所有可用空间释放给操作系统,但不在文件内执行任何页面移动。数据文件仅收缩到最后分配的范围。如果使用 TRUNCATEONLY 指定,则忽略 target_size。
太长了;(根据评论重写):