欢迎来到天天文库
浏览记录
ID:59365577
大小:708.50 KB
页数:38页
时间:2020-09-20
《关系数据库基础 第4章 索引ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章索引——加快查询速度主要内容索引类型创建索引的方法维护索引的方法8/27/202124.1.1索引的简介及分类索引是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。它提供了数据库中编排表中数据的内部方法。通常情况下一个表的存储是由两部分组成的,一部分用来存放表的数据页面,另一部分存放索引页面。索引就存放在索引页面上,通常,索引页面相对于数据页面来说小得多。8/27/20213为什么要创建索引创建索引的优点帮助用户提高查询速度利用索引的唯一性来控制记录的唯一性可以加速表与表之间的连接降低查询中分组和排序的时间SQLServe
2、r访问数据的方式表扫描SQLServer扫描表的所有页索引SQLServer使用索引页找到行4.1.1.2索引的分类唯一索引和非唯一索引聚集索引和非聚集索引单列索引、复合索引和包含性列索引视图索引全文索引8/27/20216索引的分类1)聚集索引将表中的记录在物理数据页中的位置按索引字段值重新排序,再将重排后的结果写回到磁盘上。每个表只能有一个聚集索引创建时注意:*每个表只能有一个聚集索引*表中的物理和索引中的物理顺序是相同的*保证有足够的空间创建聚集索引索引的分类2)非聚集索引与表中数据行的实际存储结构无关不会改变数据表中记录的实际存储顺序,每个表可以有多个非
3、聚集索引3)复合索引对表创建的索引是基于多个字段对表中的记录排序的4)唯一索引要求创建索引的关键字段值在表中不能有重复值,建立唯一索引的字段最好不允许为空(NOTNULL,空值被认为是重复字段)4.1.2创建索引的注意事项1.要合理的建立索引,而不要认为索引越多越好,否则不仅达不到提高性能的目的,反而会适得其反2.每个表只能有一个聚簇(聚集)索引3.聚集索引适合于检索连续键值8/27/20219表4.1合理使用聚集索引和非聚集索引8/27/2021104.1.3在SQLServerManagementStudio创建索引创建索引的方法有直接和间接的方法1.直接方
4、法2.间接方法8/27/2021114.1.3.1间接创建索引当为表的某个字段建立了主键或者唯一性约束,系统会自动为这个字段创建索引主键(PrimaryKey)-聚集索引唯一键(Unique)-非聚集索引8/27/2021124.1.3.2在SQLServerManagementStudio中创建索引1.打开“SQLServerManagementStudio”窗口,连接到本地实例,在【对象资源管理器】窗口中,依次展开到索引节点。2.右击“索引”,在弹开的快捷菜单中选择【新建索引】命令。弹出新建索引对话框点这里8/27/2021133.输入索引名称选择索引类型点
5、这里4.出现选择列对话框选择姓名点这里8/27/2021145.选择排序规则最后确定8/27/202115多媒体:新建索引用户反映对于Sales.SalesOrderDetail表的访问相当缓慢,你发现用户经产需要查询OrderQty列。请为该表创建索引,同时索引应当尽可能小。CREATEINDEX语句WITH选项目的ALLOW_ROW_LOCKS在索引上允许/不允许行级锁ALLOW_PAGE_LOCKS在索引上允许/不允许页级锁ONLINE在创建的时候允许/不允许访问索引FILLFACTOR控制在叶级页上释放控件PAD_INDEX控制在非叶级页上释放空间CRE
6、ATE[UNIQUE][CLUSTERED
7、NONCLUSTERED]INDEXindex_nameON{table
8、view}(column[ASC
9、DESC][,...,n])INCLUDE(column[,...,n])[WITHoption[,...,n]][ON{partition_scheme(column)
10、filegroup
11、"default"}]唯一索引确保在索引键上不存在相同的值CREATEUNIQUENONCLUSTEREDINDEX[AK_Employee_LoginID]ON[HumanResources].[Employee
12、]([LoginID]ASC)EmployeeIDLoginIDGenderMaritalStatus…216mike0MS…231fukiko0MM…242pat0MS…291pat0FS……不允许存在相同值8/27/2021198/27/2021204.1.4查看修改索引SQLServerManagementStudio“对象资源管理器”索引“属性”窗口报告系统存储过程sp_helpsp_helpindex8/27/2021214.1.5重新生成索引8/27/2021224.1.6禁用索引1.利用SQLServerManagementStudio禁用索引2.
13、使用T-SQL语句中的D
此文档下载收益归作者所有