<td id="cl7yg"></td>

        <code id="cl7yg"></code>

          天极传媒:
          天极网
          比特网
          IT专家网
          52PK游戏网
          极客修
          全国分站

          北京上海广州深港南京福建沈阳成都杭州西安长春重庆大庆?#25103;?/a>惠州青岛郑州泰州厦门淄博天津无锡哈尔滨

          产品
          • 网页
          • 产品
          • 图片
          • 报价
          • 下载
          全高清投影机 净化器 4K电视曲面电视小家电滚筒洗衣机
          您现在的位置: 天极网 > 开发>新闻>SQL Server 预读和物理读 的区别

          SQL Server 预读和物理读 的区别

          博客 2013-02-14 13:45 我要吐槽

            今天在网上看到有人在讨论预读和物理读的区别,个人觉得物理读和预读都是IO操作,都是需要从磁?#35752;?#35835;取数据到内存,只是读取的时间有所不同,之后查了一下MSDN确认了这种想法。

            预读是在生成执行的同时去做的,通过这种方式可以提高IO的性能。而物理读是当执行?#33529;?#29983;成好后去缓存读取数据发现缺少数据之后才到磁盘读取。当所有数据都从缓存中可以读取就变成逻辑读。

            下面举个例子:

            LINEITEM 表中大概存储了600W数据,我们使用SET STATISTICS IO ON:

            重复执行这条语句看到预读已经变为0,因为所有的数据已经在缓存中了:

            对于预读的解释:

            数据库引擎支持称为“预读”的性能优化机制。预读首先预测执行查询执行?#33529;?#25152;需的数据和索引页,然后在查询实际使用这些页之前将它们读入缓冲区高速缓存。这样可以让计算和 I/O 重叠进行,从而充分利用 CPU 和磁盘。

            预读机制允许数据库引擎从一个文件中读取最多 64 个连续页 (512KB)。该读取作为缓冲区高速缓存中相应数量(可能是非相邻的)缓冲区的一次散播-聚集读取来执?#23567;?#22914;果此范围内的任何页在缓冲区高速缓存中已存在,当读取完成时,所读取的相应页将被放弃。如果相应页在缓存中已存在,也可以从任何一端?#23433;?#21098;”页的范围。

          作者:lzf328 的BLOG责任编辑:Sunny)
          请关注天极网天极新媒体 最酷科技资讯
          扫码赢大奖
          评论
          * 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!
          办公软件IT新闻整机
          紫夜时时彩软件

          <td id="cl7yg"></td>

              <code id="cl7yg"></code>

                <td id="cl7yg"></td>

                    <code id="cl7yg"></code>

                      河北时时结果查询结果 赛车pk10加人平台 广东彩票APP 赖子麻将 黑龙江ll选五开奖结果 易游老虎机 官网 河北十一选五大神推荐 安徽时时官网平台 重庆山东时时吗 老时时360走势