首页 数据库 mysql教程 [翻译]为什么你不要收缩数据库文件

[翻译]为什么你不要收缩数据库文件

Jun 07, 2016 pm 05:44 PM
为什么 数据库 文件 翻译

前言,这几天查看了很多关于 SQL SERVER 收缩数据文件方面的文章,准备写一篇关于收缩日志方面的文章,但是突然有种冲动将看过经典的文章翻译出来,下面这篇文章是翻译的是Paul Randal Why You Should Not Shrink Your Data Files。有些比较难以翻译、清晰的

  前言,这几天查看了很多关于SQL SERVER收缩数据文件方面的文章,准备写一篇关于收缩日志方面的文章,但是突然有种冲动将看过经典的文章翻译出来,下面这篇文章是翻译的是Paul Randal – “Why You Should Not Shrink Your Data Files”。有些比较难以翻译、清晰的地方,我会贴上原文。好了,不啰嗦了,直接看下面的翻译吧。

 

  我最大的一个热点问题是关于收缩数据文件,虽然在微软的时候,我自己写了相关收缩数据文件代码,我再也没有机会去重写它,让它操作起来更方便。我真的不喜欢收缩。

  现在,不要混淆了收缩事务日志文件和收缩数据文件,当事务日志文件的增长失控或为了移除过多的VLF碎片(这里和这里看到金佰利的优秀文章),然而,收缩事务日志数据文件不要频繁使用(罕见的操作)并且不应是你执行定期维护计划的一部分。

  收缩数据文件应该执行得甚至更少。这就是为什么——数据文件收缩导致产生了大量索引碎片,让我用一个简单并且你可以运行的脚步来演示。下面的脚本将会创建一个数据文件,创建一个10MB大小的“filler”表,一个10MB大小的“production”聚簇索引,然后分析新建的聚集索引的碎片情况。 

Code Snippet

 

执行结果如下

 

clipboard

聚集索引的逻辑碎片在收缩数据文件前大约接近0.4%。[但是我测试结果是0.54%,如上图所示,不过也算是接近0.4%]

 

现在我删除filter表,运行收缩数据文件命令后,重新分析聚集索引的碎片化。

SQL Code Two

下面是我的执行结果,作者执行结果,请看原文:

image

原文:

Wow! After the shrink, the logical fragmentation is almost 100%. The shrink operation *completely* fragmented the index, removing any chance of efficient range scans on it by ensuring the all range-scan readahead I/Os will be single-page I/Os.

译文:

哇,真是恐怖!数据文件收缩后,索引的逻辑碎片几乎接近100%,收缩数据文件导致了索引的完全碎片化。消除了任何关于它的有效范围扫描的机会,确保所有执行提前读范围扫描的 I/O 在单页的 I/O操作

为什么会这样呢? 当单个数据文件收缩操作一次后,它会用GAM位图索引找出数据文件中分配最高的页,然后尽可能的向前移动到文件能够移动的地方,就这样子,网站空间,在上面的例子中,美国服务器,它完全反转了聚集索引,让它从非碎片化到完全碎片化。

同样的代码用于DBCC SHRINKFILE, DBCC SHRINKDATABASE,以及自动收缩,他们同样糟糕,就像索引的碎片化,数据文件的收缩同样产生了大量的I/O操作,耗费大量的CPU资源,并且生成了*load*事务日志,香港服务器,因为任何操作都会全部记录下来。

数据文件收缩决不能作为定期维护的一部分,你决不能启用“自动收缩”属性,我尝试把它从SQL 2005和SQL 2008产品中移除,它还存在的唯一原因是为了更好的向前兼容,不要掉入这样的陷阱:创建一个维护计划,重新生成所有索引,然后尝试回收重建索引耗费的空间采取收缩数据文件 — — 这就是你做的生成了大量事务日志,但实质没有提高性能的零和游戏。

所以,你为什么要运行一个收缩呢,?举例来说,如果你把一个相当大的数据库删除了相当大的比例,该数据库不太可能增长,或者你需要转移一个数据库文件前先清空数据文件?

 

译文:

我很想推荐的方法如下:

基本上你需要提供一些更多的空间,才可以收缩的旧文件,但它是一个更清晰的设置。

 

原文:

The method I like to recommend is as follows:

Basically you need to provision some more space before you can shrink the old files, but it’s a much cleaner mechanism.

   如果你完全没有选择需要收缩日志文件,请注意这个操作会导致索引的碎片化,你应该在收缩数据文件采取一些步骤消除它可能导致的性能问题,唯一的方式是用DBCC INDEXDEFPAGE或 ALTER INDEX ...REORGANIZE消除索引的碎片不要引起数据文件的增长,这些命令要求扩展空间8KB的页代替重建一个新的索引在索引重建操作中。

底线 — — 尽量避免不惜一切代价运行数据文件收缩

------------------------------------------------分割线----------------------------------------

所以,还在用作业定期收缩数据文件或数据库开启了“自动收缩”属性的朋友们,请及时纠正你们的错误认识吧!

支持原著,也希望大家支持我辛苦的翻译劳动,请加上链接潇湘隐者博客。

 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

deepseek怎么本地微调 deepseek怎么本地微调 Feb 19, 2025 pm 05:21 PM

本地微调 DeepSeek 类模型面临着计算资源和专业知识不足的挑战。为了应对这些挑战,可以采用以下策略:模型量化:将模型参数转换为低精度整数,减少内存占用。使用更小的模型:选择参数量较小的预训练模型,便于本地微调。数据选择和预处理:选择高质量的数据并进行适当的预处理,避免数据质量不佳影响模型效果。分批训练:对于大数据集,分批加载数据进行训练,避免内存溢出。利用 GPU 加速:利用独立显卡加速训练过程,缩短训练时间。

deepseek为什么登录不了 deepseek登陆入口 deepseek为什么登录不了 deepseek登陆入口 Feb 19, 2025 pm 05:00 PM

DeepSeek无法登录的原因有多种,包括服务器故障、网络连接问题、账户禁用、登录凭据错误或系统更新。无法进入DeepSeek的登录入口时,用户可以通过https://www.deepseek.com/访问官方网站。若遇到登录问题,用户应检查服务器状态并排除网络连接或登录凭据错误。如果问题仍然存在,用户应联系DeepSeek支持团队寻求进一步协助。

Bybit交易所链接为什么不能直接下载安装? Bybit交易所链接为什么不能直接下载安装? Feb 21, 2025 pm 10:57 PM

为什么Bybit交易所链接无法直接下载安装?Bybit是一个加密货币交易所,为用户提供交易服务。该交易所的移动应用程序不能直接通过AppStore或GooglePlay下载,原因如下:1.应用商店政策限制苹果公司和谷歌公司对应用商店中允许的应用程序类型有严格的要求。加密货币交易所应用程序通常不符合这些要求,因为它们涉及金融服务,需要遵循特定的法规和安全标准。2.法律法规合规在许多国家/地区,与加密货币交易相关的活动都受到监管或限制。为了遵守这些规定,Bybit应用程序只能通过官方网站或其他授权渠

免费的行情软件app网站 免费的行情软件app网站 Mar 05, 2025 pm 09:03 PM

本文介绍了免费的数字资产行情软件APP和网站,它们能为投资者提供实时价格、价格图表、交易量、涨跌幅、市场深度和新闻资讯等关键信息,帮助投资者做出明智的决策。 与收费软件相比,免费软件具有无需成本、功能丰富、操作简便等优势。 文章还指导用户如何选择合适的行情软件,并提醒用户注意数据来源、信息准确性和避免过度依赖等问题,最终助力投资者更好地把握数字资产市场动向。 想要了解如何高效利用免费行情软件?赶紧阅读全文!

为什么说Bittensor是AI赛道的'比特币”? 为什么说Bittensor是AI赛道的'比特币”? Mar 04, 2025 pm 04:06 PM

原文标题:Bittensor=AIBitcoin?原文作者:S4mmyEth,DecentralizedAIResearch原文编译:zhouzhou,BlockBeats编者按:本文讨论了Bittensor,一个去中心化的AI平台,希望通过区块链技术打破集中式AI公司的垄断,推动开放、协作的AI生态系统。Bittensor采用子网模型,允许不同AI解决方案的出现,并通过TAO代币激励创新。尽管AI市场已成熟,但Bittensor面临竞争风险,可能会受到其他开源

gateio交易所app老版本 gateio交易所app老版本下载渠道 gateio交易所app老版本 gateio交易所app老版本下载渠道 Mar 04, 2025 pm 11:36 PM

Gateio 交易所 app 老版本下载渠道,涵盖官方、第三方应用市场、论坛社区等途径,还给出下载注意事项,帮你轻松获取老版本,解决新版本使用不适或设备兼容问题。

比特币:全球流动性的'风向标”? 比特币:全球流动性的'风向标”? Mar 04, 2025 pm 06:39 PM

加密市场流动性吃紧,比特币持续震荡后再次下跌,最低触及8.6万美元,较峰值回落近20%。比特币作为加密货币领头羊,其下跌引发山寨币崩盘,市场情绪也从狂热转向恐慌。比特币牛市是否结束?未来走势如何?这些问题备受关注。但比特币走势已与全球金融市场紧密关联,SwanBitcoin研究分析师SamCallahan关于比特币价格与全球流动性关系的文章值得一读。文章核心观点:比特币价格在83%的时间内与全球流动性趋势一致,这一比例高于其他主要资产,使其成为衡量流动性状况的有效指标。虽然比特币与全球流动性高度

BitMEX:大幅抛售后最佳期权策略 BitMEX:大幅抛售后最佳期权策略 Mar 04, 2025 pm 06:27 PM

来源:BitMEX欢迎来到我们的每周期权Alpha系列:比特币刚刚大幅下跌,跌幅达到10%。你的投资组合出现亏损,你可能会想:「接下来该怎么办?是恐慌、加仓,还是聪明地操作?」期权策略可以帮助管理风险、利用可能的反弹或产生收入。以下是五种针对抛售后场景的有效策略,附带示例、盈亏分析和情境指导。(本文撰写时,2025年2月26日,香港时间13:06,BTC价格为88,584美元。)1.如果你担心比特币在三月还会继续下跌……做法:购买保护性看跌期权(你的保险策略)假设你持

See all articles