第6章 核心存储与索引结构
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
6.2.2 在SQL Server中访问数据
1、表扫描
数 据 库
表扫描即对表进行顺序查询。当表中的数据 量(行数)很少时,使用表扫描效率比较高。
系 统
2、使用索引
设
对数据量(行数)较多的表,通过索引查询
计 与
效率比较高。
管 理
注意:在Where中使用Exists,由于只要找到 匹配的记录即停止查找,因此一定条件下,可以
库
系
碎片是在数据库增长和页拆分过程中产
统
设 生的。
计
与
碎片的处理与操作系统相似。
管
理
具体命令是:
sys.dm_db_index_physical_stats(…)
6.6 本章小结
1、聚集索引比非聚集索引快;
数 据
2、选择性相当高时(95%以上)才用
库 系
非聚集索引;
统 设 计
3、索引会降低插入、更新和删除的速 度;
据 数据结构方式创建的索引。与聚集索引的区别如下:
库
系
统
结构上:其叶级不是数据,而是指向数据的指针。
设 计
它由索引指向的特定行的区段、页和行偏移量组成。
与
管
访问方式上:由于数据之间没有链接,堆上的非聚
理 集索引可能要经过单独几次从同一个页中获取数据;而
聚集索引因为是物理排序的,所以对于一个页,只需访 问一次就可以获取到所有数据。
Create Index …..
数 据 库 系 统 设 计 与 管 理
6.3.2 随约束隐含创建的索引
主要有:Primary Key 键
数
据Unique约束来自库系统
设
计
与
管
理
6.3.3 Alter Index
修改索引
数 据 库 系 统 设 计 与 管 理
6.4 索引的选择
聚集索引:当相关列经常作为范围查询
数 据
存储单元无关。
库 系
全文目录是数据的管理和查询的重要工
统 设
具。
计
与
管
理
6.1.7 文件流
文件流是一种超大数据类型的存储方式,
数 据
它是将数据直接存储在NTFS目录中,然后
库 系
通过SQL系统协调管理。
统 设
注意:文件流并没把数据存入BLOB页
计 与
中。
管
理
6.2 索引
SQL Server中的方式:
数 据
的对象时,即经常使用Between或 Or、
库 系
Group by 以及 Min、Max、Sum等进行查
统 询,如果使用聚集索引效率会相当高。
设
计 与
非聚集索引:对数据库存在大量的不连
管 续的顺序插入,因会发生页拆分而消耗大
理
量的时间。
6.5 维护索引
索引的维护主要处理两个方面的问题:
数
据
即页拆分和碎片。
库 系
基于区段的数据存储方式为:数据以区段为单位存
统 储,当一个区段存储完以后,自动将新的一条记录存入
设 下一个新区段中(所占空间并非记录的实际大小,而是
计 整个区段)
与
管
使用区段的优点是系统通过预先的固定空间分配模
理 式节约存储空间分配的开销。
缺点:可能会有一条记录占用一个区段而造成空间 浪费。
6.1.4 页
SQL Server 2008 高级编程
毕节学院计科系 张仕学 2010.9
第6章 核心存储与索引结构
本章主要介绍数据库的物理存 储结构与索引结构。
索引为数据库系统提供了额外的方式查
数 据
找数据并快速定位所需数据的物理位置。
库 系
在数据库中,索引是高效和快速地访问
统 设
和维护数据的关键。
计
与
管
理
数
据
二进制:根据字符的二进制数字表示进
库 系
行排序,如ASCII码。
统
设
字典顺序:即按字母读音顺序排序。
计
与
管
理
6.2.1 B树
1、B树的概念
数
据
库
系 统
2、使用B树可以将关系型数据转换成
设 类似层次型的方式来进行查询,从而提高
计 与
查询的效率。
管 理
注意:当向表中插入新记录时,要保持
表B树的平衡。
提高查询效率。
6.2.3 索引类型和索引导航
1、聚集索引
数
据
聚集索引是按物理顺序存放的记录指针
库 系
的索引。每个表只能创建一个唯一的聚集
统 设
索引。
计 与
但是,在表中添加新记录时,新记录要
管 理
根据其在表中的物理顺序位置进行插入,
所以影响插入效率。
2、堆上的非聚集索引
数
堆在的非聚集索引相似于聚集索引,但它是以堆的
设 计
3、BLOB页
与 管 理
对于BLOB(大数据类型)的数据,其最大可 达2GB,所以对于该种数据,系统将为行分配多
个BLOB页,每一页包括数据和指针(指向下一
页)。
6.1.5 行
1页=8行(1行=8KB)
数
据
注意:1行最多分为1024列。
库
系
统
设
计
与
管
理
6.1.6 全文目录
全文目录是全文索引的逻辑分组,它与
数
据
1、数据库主文件——*.mdf
库
系 统
2、数据库扩展文件——*.ndf
设 计
3、数据库日志文件——*.ldf
与 管
注意:扩展文件可与主文件不在同一磁
理 盘分区。完整的数据集就包括:数据库文
件与日志文件。
6.1.3 区段
区段是用来为表和给定文件中的索引分配空间的基
数 本存储单元。
据
一个区段由8个连续的64KB数据页组成。
一区段=8页(1页=64KB)
数
据
即页是区段中存储空间的分配单元。其
库 系
存储方式为,一页可以存多行(条记录)
统 设
数据,但一条记录只能存入一页。而每一
计 与
页中的行数根据记录的大小确定。
管 理
注意:这里的记录可以是数据、索引和
其它对象。
1、数据页
数 据
即存储表中实际数据的页。
库
2、索引页
系 统
主要用于存储索引的指针文件。
6.1 存储
SQL Server中,可以把数据看成是某种
数 据
简单层次结构的,这样,数据的查询处理
库 系
将比较容易。
统
设
计
与
管
理
6.1.1 数据库(DB)
数据库是存储定义的最高级别,也是加
数 据
锁对象中的最高级别。
库 系
什么是锁,X锁,S锁?
统
设
计
与
管
理
6.1.2 文件
一个数据库文件包括以下文件:
与 管
4、索引会占用数据库空间;
理
5、只有当查询与索引关键字相关时才
会使用索引。
3、聚集表上的非聚集索引
数
据
索引方式:先用非聚集索引找到满足条
库 系
件的连续数据范围,然后用聚集索引进行
统 设
查找,从而利用两种查询的优点进行快速
计 与
查询。
管
理
6.3 创建、修改和删除索引
和其它对象的创建方法相似,可以通过
数 据
创建约束时作为隐含对象创建和通过命令
库 系
方式创建。
统
设
计
与
管
理
6.3.1 Create Index