详解SQL Server数据库索引
2008-10-24 10:09:33 来源:WEB开发网核心提示:一、理解索引的结构 索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度,详解SQL Server数据库索引,使用索引查找数据,无需对整表进行扫描,聚集索引单个分区中的结构:--建立UserAddDate聚集索引CREATE CLUSTERED INDEX [IX_UserAddDate] ON [AS
一、理解索引的结构
索引在数据库中的作用类似于目录在书籍中的作用,用来提高查找信息的速度。使用索引查找数据,无需对整表进行扫描,可以快速找到所需数据。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。
SQL Server 中数据存储的基本单位是页(Page)。数据库中的数据文件(.mdf 或 .ndf)分配的磁盘空间可以从逻辑上划分成页(从 0 到 n 连续编号)。磁盘 I/O 操作在页级执行。也就是说,SQL Server 每次读取或写入数据的最少数据单位是数据页。
下面我们先简单的了解一下索引的体系结构:
1. 聚集索引结构
在 SQL Server 中,索引是按 B 树结构进行组织的。
聚集索引单个分区中的结构:
--建立UserAddDate聚集索引
CREATE CLUSTERED INDEX [IX_UserAddDate] ON [ASPNet_zSurvey].[ZS_User]
(
[UserAddDate] ASC
)
聚集索引(Clustered Index)特点
聚集索引的叶节点就是实际的数据页
聚集索引中的排序顺序仅仅表示数据页链在逻辑上是有序的。而不是按照顺序物理的存储在磁盘上
行的物理位置和行在索引中的位置是相同的
每个表只能有一个聚集索引
聚集索引的平均大小大约为表大小的5%左右
2.非聚集索引结构
非聚集索引与聚集索引具有相同的 B 树结构,它们之间的显著差别在于以下两点:
1. 基础表的数据行不按非聚集键的顺序排序和存储。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››详解android 多媒体数据库
- ››sqlite 存取中文的解决方法
- ››详解Linux 系统命令及其使用
- ››SQL2005、2008、2000 清空删除日志
- ››详解什么是智能dns解析
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››详解Win 8系统登录密码
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
更多精彩
赞助商链接