关于SQL Server的两个细节

时间:2010-02-21 09:37:23  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:排序      新的TOP N引擎可以减少以往先sort再top n的负载,当数据读入到Storage Engine时就先过滤出top n的记录,然后在对这些记录进行sort等操作,这样的设计可以在大多数情况下提升效率,缩短查询时间。      Merry-Go-Round Scans      胡百敬老师在他一本讲解性能调教的书中将其翻...
  正文: 前段时间看到了园子的朋友在讨论SQL Server的Paging Select问题,在感觉到有些朋友可能对SQL Server(2000以上版本的)的一些地方还不太清楚,这里分享一下SQL Server自2000版本后提供的一些特色处理方式:
  
  TOP N排序
  
  新的TOP N引擎可以减少以往先sort再top n的负载,当数据读入到Storage Engine时就先过滤出top n的记录,然后在对这些记录进行sort等操作,这样的设计可以在大多数情况下提升效率,缩短查询时间。
  
  Merry-Go-Round Scans
  
  胡百敬老师在他一本讲解性能调教的书中将其翻译为旋转木马式扫描,这个算法用于处理相同数据的重复扫描。例如我们有一页数据,两个用户都去查询它们,如果都是从page的开始部分进行scan,假设当user A scan到30%的时候user B开始scan操作,那么当user A进行到60%的时候user B刚好完成30%,这种设计可能会导致在扫描大型数据表的时候引起硬盘的剧烈震动!而采用Merry-Go-Round方式,当user A scan到30%的时候user B开始从A的当前位置scan,user A完成整个操作时user B完成了70%,然后再从页首开始scan剩下的30%,这样他们就使用相同的查询计划读取了部分数据。这种方式减少了大量在极端时间内先后查询相同的数据时,系统I/O来回读取的的情况,在增强读取速度和无序扫描的同时,也不需要同步了。
  
  Katmai在这两方面有没有更好的改进还不知道,我的SQL Server 2008一直没法安装成功,也没法尝试一下,明天准备做虚机再试一次,有相似经历的朋友已经解决问题的还请指教一下。
关于SQL Server的两个细节》由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Programming/aspnet/12852.html


关键字:

关于《关于SQL Server的两个细节》文章的评论

站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td