索引的原理
索引的原理就是对创建索引的列使用数据结构 树 的形式对列进行再保存,例如使用二叉树的形式
具体原理待之后详细学习了在进行补充,但大致索引的时间就是这个样子
没有索引为什么慢?
因为如果对没有创建索引的列进行查找时是进行全表扫描,所以速度会慢很多
索引为什么块
因为形成了一个索引的数据结构,比如二叉树等,还有其他的树结构
索引的代价
1、占用磁盘空间
2、影响dml(insert,delete,update)语句的效率(会对索引进行维护)
索引的类型
创建索引
create table T4(
id int,
name varchar(11),
age int);
-- 创建普通索引
create index idx_T4_id on T4(id);
alter table T4 add index idx_T4_name (name);
-- 创建唯一索引
-- 如果某列的值是不会重复的,则有限使用唯一索引,否则使用普通索引
create unique index idx_T4_age on T4(age);
-- 创建主键索引
-- 其实就是创建主键,直接在创建表时列后面增加primary key就可以,
-- 如果当时没有创建,可以使用alter语句创建
alter table T4 add primary key(id);
删除索引
-- 删除索引
drop index idx_T4_id on T4;
-- 删除主键索引
alter table T4 drop primary key;
查看索引
-- 查看索引
-- 方式1
show index from T4;
-- 方式2
show indexes from T4;
-- 方式3
show keys from T4;
-- 方式4
desc T4;