adi*_*per 6 sql-server statistics
在 Postgres 中,ANALYZE
收集有关数据库中表内容的统计信息,并将其存储。这些统计信息用于确定 PG 中最有效的查询计划。运行analyze
命令提高了数据库的性能。我想知道 SQL Server 中是否有类似的东西。
SQL Server 是否具有与 Postgres'Analyze
和等效的命令Vacuum
?
如果 SQL Server 没有完全等效的命令,是否有类似的命令?
如果这些命令确实有 SQL Server 版本,请解释它们或张贴有用文档的链接。
据我了解,大致相当于ANALYZE
将是UPDATE STATISTICS
。
更新表或索引视图的查询优化统计信息。默认情况下,查询优化器已经根据需要更新统计信息以改进查询计划;在某些情况下,您可以通过使用 UPDATE STATISTICS 或存储过程 sp_updatestats 比默认更新更频繁地更新统计信息来提高查询性能。
经常自动更新统计信息就足够了,但我遇到了一些必须手动更新以获得良好查询计划的情况。一种常见的情况是,当行被添加到一个大表中时,新行的值范围位于现有统计直方图之外,即所谓的Ascending Key Problem。
大致相当于VACUUM FULL
将收缩数据库的命令。
收缩数据文件通过将数据页从文件末尾移动到靠近文件前面的未占用空间来恢复空间。当在文件末尾创建了足够的可用空间时,文件末尾的数据页可以被释放并返回到文件系统。
在许多情况下,缩小数据库是一个坏主意。
https://www.brentozar.com/archive/2009/08/stop-shrinking-your-database-files-seriously-now/
该功能在那里,但它应该用于解决一些非常具体的问题。
正如@dezso在评论中指出的那样,简单VACUUM
命令仅将页面标记为可在同一个表中重复使用,它不会压缩文件。SQL Server 通过Ghost 清理后台进程自动执行此操作。实际上,可以将其关闭。因此,看起来这个 Ghost 清理过程大致相当于一个简单的VACUUM
.
归档时间: |
|
查看次数: |
6924 次 |
最近记录: |