数据库实验四 索引创建与管理操作
- 一、实验目的
- 二、设计性实验
- 三、观察与思考
一、实验目的
(1) 理解索引的概念与类型。
(2) 掌握创建、更改、删除索引的方法。
(3) 掌握维护索引的方法。
二、设计性实验
在数据库job下创建worklnfo表。创建表的同时在id字段上创建名为index_id的唯一性索引,而且以降序的格式排列。Worklnfo表内容如表所示。
请完成如下操作:
1、使用 CREATE INDEX 语句为name字段创建长度为10的索引index_name。
create index index_name on workinfo(name(10));
2、使用 ALTER TABLE 语句在type和address上创建名为index_t的索引。
alter table workinfo add index index_t(type,address);
3、使用 ALTER TABLE 语句将workInfo表的存储引擎更改为MyISAM类型。
alter table workinfo ENGINE=MYISAM;
4、使用 ALTER TABLE 语句在extra字段上创建名为index_ext的全文索引。
alter table workinfo add fulltext index index_ext(extra);
5、使用 DROP 语句删除workInfo表的惟一性索引index_id。
drop index index_id on workinfo;
三、观察与思考
(1) 数据库中索引被破坏后会产生什么结果?
答:查询速度变慢并且不能使用delete操作
(2) 视图上能创建索引吗?
答:不能,视图本身没有索引的概念
(3) MySQL中组合索引创建的原则是什么?
答:
1、 对于查询频率高的字段创建索引;
2、 对排序、分组、联合查询频率高的字段创建索引;
3、 索引的数目不宜太多
4、若在实际中,需要将多个列设置索引时,可以采用多列索引
5.选择唯一性索引;
6、尽量使用数据量少的索引
7、尽量使用前缀来索引
8、删除不再使用或者很少使用的索引
(4) 主键约束和唯一约束是否会默认创建唯一索引?
答:会,主键约束的索引键在定义上不允许为NULL,而唯一约束的索引键在定义上允许为NULL。