文档详情

第5章索引.ppt

发布:2017-06-13约2.22千字共13页下载文档
文本预览下载声明
第5章 索引 电子商务数据库技术 5.1 索引简介 索引是对数据表中一个或多个列的值进行排序的结构,可以利用索引快速访问数据库表中的特定信息。 索引是什么? 溜咯吱做 法:三 河媳妇一 个,食材 若干,关入 厨房即可。 目录 红烧肉……1 水煮鱼……2 焖大虾……3 小烧鸡……4 溜咯吱……5 5 指针 指针 索引 数据表 索引,是对数据表中一个或多个列的值进行排序的结 构,可以利用索引快速访问数据库表中的特定信息。 聚集索引与非聚集索引 拼音查字法 部首查字法 数笔划查字法 四角号码查字法 数据表 聚集索引 非聚集索引A 非聚集索引B 非聚集索引…… 正文与目录顺序一致 速度最快 表数据排列顺序与聚集索引一致 用聚集索引检索比用非聚集索引速度快 一个表只能有一个聚集索引 一个表最多有249个非聚集索引 聚集or非聚集? 单列or多列? 升序还是降序? 唯一? 索引属性 5.2 索引的特点 索引的优点 提高查询速度 无索引时,查询数据需要访问数据表中的每一行记录; 有索引时,由于索引有序排列,可以先查询索引,通过索引定位数据。 索引带来的问题 占用更多的空间; 对数据插入、修改、删除的负面影响 使用like进行比较查询时,查询以下两种结果,索引起到的优化效果是否一致? abc% %abc 5.3 创建索引 间接创建索引 Primary Key约束和Unique约束列会自动创建索引 直接创建索引 Create Index 手动创建 使用SQL语言创建索引 CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ] INDEX index_name ON table_name ( column [ ASC | DESC ] [ ,...n ] ) 例: CREATE INDEX [IX_Class] ON [dbo].[Student] ([Class] desc ) 使用SQL语言管理索引 DROP INDEX 从当前数据库中删除一个或多个索引。 DROP INDEX 语句不适用于通过定义 PRIMARY KEY 或 UNIQUE 约束创建的索引(通过分别使用 CREATE TABLE 或 ALTER TABLE 语句的 PRIMARY KEY 或 UNIQUE 选项创建)。 语法 DROP INDEX table.index | view.index [ ,...n ] 例如: drop index student.ix_class 可以利用索引快速访问数据库表中的特定信息。 索引是对数据库表中一个或多个列的值进行排序的结构。 * 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针 * * 新华字典有几种查字法? 哪种查字法与其它查字法有本质区别?什么区别? 只有一个 速度快 正文与目录顺序一致 * 唯一:emp_id在employees表中应该唯一,但是job_id就不唯一 聚集还是非聚集 惟一还是非惟一 单列还是多列 升序还是降序 覆盖还是非覆盖 * 索引所带来的数据检索速度的优势大大超过它的不足之处。 * * “%abc”中索引不起作用 在创建索引时,如果数据已存在,SQL Server会检查是否有重复值,并在每次使用 INSERT 或 UPDATE 语句添加数据时进行这种检查。如果存在重复的键值,将取消 CREATE INDEX 语句,并返回错误信息,给出第一个重复值。 * 为表或视图创建唯一索引(不允许存在索引值相同的两行)。视图上的聚集索引必须是 UNIQUE 索引。 * DROP INDEX 语句不适用于通过定义 PRIMARY KEY 或 UNIQUE 约束创建的索引(通过分别使用 CREATE TABLE 或 ALTER TABLE 语句的 PRIMARY KEY 或 UNIQUE 选项创建)。 * 可以利用索引快速访问数据库表中的特定信息。 索引是对数据库表中一个或多个列的值进行排序的结构。 * 索引提供指针以指向存储在表中指定列的数据值,然后根据指定的排序次序排列这些指针 * * 新华字典有几种查字法? 哪种查字法与其它查字法有本质区别?什么区别? 只有一个 速度快 正文与目录顺序一致 * 唯一:emp_id在employees表中应该唯一,但是job_id就不唯一 聚集还是非聚集 惟一还是非惟一 单列还是多列 升序还是降序 覆盖还是非覆盖 * 索引所带来的数据检索速度的优势大大超过它的不足之处。 * * “%abc”中索引不起作用 在创建索引时,如果数据已存在,SQL Server会检查是否有重复值,并在每次使用 INSERT 或 UPDATE 语句添加数据时进行这种检查。如果存在
显示全部
相似文档