内容正文:
MySQL数据库应用开发
单元6 MySQL索引
任务6.1 MySQL索引
索引的定义与管理
索引的设计原则和注意事项
知识点小结
本节实验
任务6.1 MySQL索引
能力目标
1.掌握索引的 定义、优缺点和设计原则(重点);
2.掌握查看索引、创建索引和删除索引(难点)。
思政目标
1.培养学生诚实守信、严谨求实、敬业乐业的工作作风;
2.培养学生敢于质疑,大胆创新精神。
任务6.1 MySQL索引
索引是一种特殊的数据库结构,其作用相当于一本书的目录,可以用来快速查询数据库表中的特定记录。
索引是提高数据库性能的重要方式。
本节将介绍索引的含义和作用、索引定义的原则和创建索引的方法以及查看索引和删除索引的方法。
索引的优点与缺点
索引的优点:
(1)通过创建唯一性索引,可以保证数据库中每一行数据的唯一性;
(2)可以加快数据的检索速度。
索引的缺点:
(1)当对表中的数据进行增加,删除和修改的时候,索引也要动态的维护,降低数据的维护速度;
(2)索引需要占物理空间。
索引的分类
普通索引
使用说明
一个表中可以有多个INDEX字段
字段的值允许有重复,且可以赋予NULL值
经常把做查询条件的字段设置为INDEX字段
INDEX字段的key标志位MUL
建表指定索引字段
index(字段1),index(字段2)...
索引的分类
唯一性索引
使用UNIQUE参数可以设置索引为唯一性索引。
在创建唯一性索引时,限制该索引的值必须是唯一的。
通过唯一性索引,可以更快速地确定某条记录。主键就是一种特殊唯一性索引。
索引的分类(续)
全文索引
使用FULLTEXT参数可以设置索引为全文索引。
全文索引(也称全文检索)是目前搜索引擎使用的一种关键技术。
全文索引只能创建在CHAR、VARCHAR或TEXT类型的字段上。
查询数据量较大的字符串类型的字段时,使用全文索引可以提高查询速度。
在默认情况下,全文索引的搜索执行方式不区分大小写。
索引的分类(续)
单列索引
在表中的单个字段上创建索引。
单列索引只根据该字段进行索引。
单列索引可以是普通索引,也可以是唯一性索引,还可以是全文索引。只要保证该索引只对应一个字段即可。
多列索引
多列索引是在表的多个字段上创建一个索引。
该索引指向创建时对应的多个字段,可以通过这几个字段进行查询。但是,只有查询条件中使用了这些字段中第一个字段时,索引才会被使用。
任务6.1 MySQL索引
索引
索引的定义与管理
索引的设计原则和注意事项
知识点小结
本节实验
创建索引
创建索引是指在某个表的一列或多列上建立一个索引。
创建索引方法:
直接创建索引
1)在创建表的时候创建索引。
2)在已存在的表上创建索引
3)使用alter table语句来创建索引。
间接创建索引
例如:在表中定义主键约束或者唯一性键约束时,同时也创建了索引。
在创建表的时候创建索引
创建表class:
12
创建索引示例
示例:创建一个全文索引
CREATE TABLE t_test1(
id TINYINT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE,
userDesc VARCHAR(20) NOT NULL,
FULLTEXT INDEX full_userDesc(userDesc)
);
13
创建索引示例
使用alter table命令在Cname字段的前5个字节上创建降序排序。
14
创建索引示例
创建student表时对Sname建立了唯一值索引。
查看索引
语法格式:
SHOW INDEX FROM table_name
删除索引
已经被建立且不经常使用的索引,一方面可能会占有系统资源,另一方面也可能导致更新速度下降,会极大地影响数据表的性能。
删除索引可以使用ALTER TABLE或DROP INDEX语句来实现。DROP INDEX可以在ALTER TABLE内部作为一条语句处理。
17
删除索引示例
删除两个唯一性索引示例:
ALTER TABLE vipuser12 DROP KEY uni_card;
ALTER TABLE vipuser12 DROP KEY mulUni_test_test1;
18
任务6.1 MySQL索引
索引
索引的定义与管理
索引的设计原则和注意事项
知识点小结