索引:就是一个列表,包含索引字段的值和相应的页码定位。
索引关键字进行了排序。查询时可以通过索引,提供查询速度。
书上的目录相似
表上查询:全表扫描
结构:Btree 根节点 中间 节点 叶节点
索引的优点:提供查询速度。
缺点:占磁盘空间
会降低写的速度。(插入,更新,删除)
什么时候键索引:如果表主要是提供查询,那么在经常查询的字段上建立索引。
索引分类:
1.普通索引
create index 索引名
on 表名(字段名,。。。);
create index index_name
on xs(姓名);
2.唯一性索引:在一个表上可以创建多个,索引值不能重复。允许有空值
create unique index 索引名
on 表名(字段名,。。。)
3.主键:primary key 在一个表上只能创建一个主键,主键字段不能出现重复值,
不允许为空。
4.全文索引
create fulltext index 索引名
on 表名(字段名,。。。);
通过修改表结构添加索引。
alter table 表名
add index 索引名(索引字段,。。。)
查看索引:show index from 表名
删除索引:drop index 索引名 on 表名
索引的创建:
1.表已经建好了:
1) create index 索引名 on 表名(字段名,。。);
2) alter table 表名 add index 索引名(字段名,。。。);
2.在建表的同时创建索引
create table abc
(id int primary key,
name varchar(10),
index ind_name(name));
create table abc1
(id int ,
name varchar(10),
primary key(id),
index ind_name(name));
索引的删除:
1.drop index 索引名 on 表名
2. alter table 表名
drop index 索引名
要求:在xs表的姓名字段上创建唯一性索引。
查看索引
输入记录验证唯一索引
删除索引。