- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 SQL Server 2008 R2 中使用行级或页级压缩时,SQL Server 是否将数据存储到其 buffer cache 中以其压缩形式或扩展形式。
例如,假设我有一个表(页面级)压缩为其原始大小的 20%:
Original size: 100 GB
Compressed size: 20 GB
此外,运行此特定 SQL Server 实例的(专用)主机拥有 24 GB 内存。如果查询执行表扫描,查看所有列(为了示例),并且 SQL Server 将数据缓存为压缩数据,理论上它可以将所有数据存储在其缓冲区缓存中并可用于将来的查询。但是,如果数据未压缩地缓存,则 24 GB 的服务器内存显然无法容纳 100 GB 的数据。
那么,SQL Server 如何在其缓冲区缓存中存储压缩数据?
最佳答案
压缩的页面以压缩形式保留在磁盘上,并在读入内存时保持压缩状态。
引用号:SQL Server 2008 Data Compression: Strategy, Capacity Planning and Best Practices :
Data is decompressed (not the entire page, but only the data values of interest) when it meets one of the following conditions:
- It is read for filtering, sorting, joining, as part of a query response.
- It is updated by an application.
There is no in-memory, decompressed copy of the compressed page. Decompressing data consumes CPU. However, because compressed data uses fewer data pages, it also saves:
Physical I/O: Because physical I/O is expensive from a workload perspective, reduced physical I/O often results in a bigger saving than the additional CPU cost to compress and decompress the data. Note that physical I/O is saved both because a smaller volume of data is read from or written to disk, and because more data can remain cached in buffer pool memory.
Logical I/O (if data is in memory): Because logical I/O consumes CPU, reduced logical I/O can sometimes compensate for the CPU cost to compress and decompress the data.
关于sql-server - 压缩数据如何存储在缓冲区高速缓存中,压缩的还是未压缩的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6240706/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 3 年前。 Improve th
作为练习,我正在尝试使用 Thread.sleep 作为计时器并使用 JMF 作为声音来使用 Java 创建一个节拍器。它运行良好,但出于某种原因,JMF 似乎只能以每分钟最多 207 拍的速度播放声
有谁知道对用户浏览器进行基准测试的快速方法?它不需要那么准确。 我开始在我们的软件平台中使用 Javascript 执行越来越多的密集型任务,我担心性能在旧浏览器上会成为一个问题,所以我想要的是我可以
我的数据看起来像每帧 1000 万个数值(实数 + 二进制)(想想数组,即数组的一行中有 1000 万个元素)并且大约有 100 帧/秒。一种时间序列。 我的挑战是: (1) 存储——数据量 (2)
在使用 Android 时,我丢失了传入 USB 数据流上的数据,而在 Windows 中读取同一设备/流时我不会丢失这些数据。 (我知道 Android 不是实时操作系统,但 Windows 也不是
在我目前正在做的一个C#项目中,我们试图计算网络上大量文件的MD5(当前pot是270万,客户端pot可能超过1000万)。随着我们处理的文件数量的增加,速度成为问题。 我们这样做的原因是为了验证文件
我一直在尝试使用 XSLT 在最有效的时间内从 XML 文档获取 CSV 数据。以下是我的示例 XML Raagu Hoskote
如果标题听起来令人困惑,我很抱歉,如果您在这段描述后有更好的想法,请随时提出建议。 简而言之,我在 Linux 上使用 PHP 以及以下假设的文件/代码: job.php: if(setting_ge
对最多 1000 万个 7 位数字进行排序。约束条件:1M RAM,高速。几秒就好。 [编辑:来自提问者的评论:输入值不同] 使用位图数据结构可以很好地解决这个问题。 这意味着我需要一个字符串,它的长
我是一名优秀的程序员,十分优秀!