知识准备(2)

在我们使用sql优化时,最直观的就是查询时间。但除了查询时间,sqlserver提供了我们多种优化的方式和工具。下面一一给大家介绍。

在使用这些工具之前我们首先要有的一个概念是sqlSever我们操控数据,实际本质是操控文件。

一.数据页

  首先我们先创建一个表,然后插入三条数据

create table Person ( name varchar(50), age int )

insert into Person (name, age ) values('张三' , 20),('李四' , 20),('王五' , 20)

我们的记录都是以数据页形式存储的,而且还应该知道数据页的大小是8k。。。。那数据页在哪里?我可以

让你眼见为实。

1 dbcc traceon (2588) --开启2588跟踪 不开启无法使用ind命令
2 
3 dbcc help(ind)  --查看ind命令所需要的参数

dbcc全名:Database Console Commands。顾名思义“数据库控制台命令”。这个命令大概包含32个公开命令,和100多个非公开命令。而我们的ind命令属于非公开命令,这个命令主要作用是用来查看”堆表“或者”索引“的数据页信息。我们可以通过dbcc help(ind)命令,来查看这个命令的相关参数

前两个参数我想你好理解,第三个参数是最有意思的,这里面的1,0,-1,-2 是什么意思呢???

 

<1> 1: 显示聚集索引数据页信息和IAM跟踪数据页信息。

<2> 0:   显示堆表数据页信息和IAM跟踪数据页信息。

<3>-1: 显示所有数据页信息,比如(IAM,索引数据页,堆表数据页)。

<4>-2: 显示IAM数据页信息。

<5>nonclustered indid: 从这个参数的排位列表,你大概也能看到是一个”正无限大“到1,0,-1,-2这种模式,仔细想想这个意思我想你也明白,比如

            说2就代表第一个非聚集索引,3代表第二个非聚集索引,以此类推。。。。。

 

posted on 2017-12-29 17:30  码农666  阅读(127)  评论(0)    收藏  举报

导航