文档详情

数据库技术项目式教程(MySQL)课件 任务5.3创建索引.pptx

发布:2025-05-01约1.61千字共13页下载文档
文本预览下载声明

创建索引

任务提出用户对数据库的操作最频繁的是数据查询。一般情况下,数据库在进行查询操作时需要对整张表进行数据搜索。当表中的数据较多时,按顺序搜索数据就需要很长的时间,这就造成了服务器的资源浪费。为了提高检索数据的能力,数据库引入了索引机制。

任务分析若要在一本书中查找所需的信息,应首先查找书的目录,找到该信息所在的页码,然后再查阅该页码的信息,无须阅读整本书。在数据库中查找数据也一样,为了加快查询速度,创建索引,通过搜索索引找到特定的值,然后找到包含该值的行,从而提高数据检索速度。本任务先理解数据访问方式,然后理解创建索引的优缺点和索引分类,再来根据实际需求创建和维护索引。

1.数据访问方式(1)表扫描法DBMS从表的第一行开始进行逐行查找,直到找到符合查询条件的行。(2)索引法当进行以索引列为条件的数据查询时,它会先通过搜索索引树来查找所需行的存储位置,然后通过查找的结果提取所需的行。相关知识与技能

2.创建索引的优缺点创建索引的好处1)加快数据查询速度。2)加快表的连接、排序和分组操作速度。创建索引的不足1)创建索引和维护索引要耗费时间。2)索引需要占磁盘空间。3)降低数据的维护速度。相关知识与技能

3.索引使用原则避免为经常更新的表创建过多的索引,对经常用于查询条件的字段创建索引,数据量小的表最好不要使用索引。用于索引的最好的备选数据列是那些出现在WHERE子句、JOIN子句、ORDERBY或GROUPBY子句中的列。先装数据,后建索引。相关知识与技能

4.索引分类索引是在存储引擎中实现的,每种存储引擎的索引都不一定完全相同。(1)普通索引和唯一索引普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值,纯粹为了查询数据更快一点。唯一索引:索引列中的值必须是唯一的,但是允许为空值。主键索引:是一种特殊的唯一索引,不允许有空值。主键约束字段上默认建立主键索引。相关知识与技能

索引分类(2)单列索引和组合索引单列索引:一个索引只包含单个列,但一个表中可以有多个单列索引。组合索引:在表中的多个字段组合上创建的索引,只有在查询条件中使用了这些字段的左边字段时,索引才会被使用,使用组合索引时遵循最左前缀集合。相关知识与技能

5.创建索引(1)创建表的同时创建索引根据先装数据,后建索引的原则,所以一般不建议在创建表的同时创建索引。CREATETABLE表名(……INDEX|KEY[索引名](列名));相关知识与技能

创建索引(2)在已经存在的表上创建索引CREATEINDEX索引名ON表名(列名);或者ALTERTABLE表名ADDINDEX|KEY[索引名](列名);相关知识与技能

6.删除索引和查看表的索引信息删除索引DROPINDEX索引名ON表名;或者ALTERTABLE表名 DROPINDEX|KEY索引名;查看表的索引信息SHOWINDEXFROM表名;或者SHOWKEYSFROM表名;相关知识与技能

【例1】在Class表的ClassName列上创建唯一索引,索引名称为:IX_Class_ClassName。CREATEUNIQUEINDEXIX_Class_ClassNameONClass(ClassName);【例2】查看Class表的索引信息。SHOWINDEXFROMClass;任务实施

任务总结创建索引可以加快数据的检索速度。但创建索引和维护索引要耗费时间,索引要占用磁盘空间,索引会降低数据的维护速度。所以索引一定要正确的使用,并不是越多越好,要根据具体的查询业务来规划索引的建立。

显示全部
相似文档