对SQL Server数据库中两个细节的描述

数据库 SQL Server
我们今天主要向大家描述的是SQL Server数据库中的两个细节,即TOP N排序,Merry-Go-Round Scans,以下就是文章的具体介绍。

以下的文章主要像大家讲述的是SQL Server数据库中的两个细节,前段时间我看到了园子的朋友在对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数据库的两个细节


上述的相关内容就是对关于SQL Server数据库的两个细节的描述,希望会给你带来一些帮助在此方面。

【编辑推荐】

  1. SQL Server主键列的正确查看方式
  2. SQL Server删除群集的实例演示
  3. 对SQL Server数据库与XML支持的正确理解
  4. 解决SQL Server数据库中的安全疑难问题的方案
  5. SQL Server 浏览器的正确应用
责任编辑:佚名 来源: 睿商在线
相关推荐

2010-06-30 11:16:50

SQL Server

2010-07-22 15:13:08

SQL Server

2010-07-05 13:29:56

2010-04-06 18:04:09

Oracle数据库

2010-06-30 09:36:25

SQL Server

2010-07-05 13:36:21

SQL Server

2010-05-24 09:44:30

MySQL数据库

2010-07-07 10:31:43

SQL Server数

2010-07-05 12:33:13

SQL Server

2011-03-11 15:49:52

Oracle数据库

2010-03-29 17:43:32

2010-04-09 10:32:03

Oracle 数据库

2010-07-02 11:00:59

SQL Server备

2010-07-19 18:04:23

SQL Server锁

2010-07-05 18:02:37

SQL Server数

2011-04-15 10:21:07

Oracle数据库运算

2010-04-29 16:36:19

Oracle数据库

2011-04-11 14:18:44

SQL Server数图片

2010-07-15 17:28:50

SQL Server

2010-07-02 08:53:06

MIS SQL Ser
点赞
收藏

51CTO技术栈公众号