索引分为:普通索引(index)、主键索引(primary key)、全文索引(Fulltext index)、唯一索引(unique index)
如何创建主键索引/唯一索引?
1.在创建表的时候创建 :
create table stu(
id int primary key,
name varchar unique (加了unique就默认为唯一索引了)
)
2.在表创建后添加
alter table stu add primary key (id);
如何创建普通索引/唯一索引?
create index index_name(索引名) on stu (字段名);
create unique index index_name(索引名) on stu (字段名);
3.全文索引 只能建在数据库引擎为myisam 用得比较少
select * from stu where match( 字段名 ) against(要检索的字);
如何查询索引?
show index from stu;
如何使用索引?
select * from stu where id = 1; 直接将含有索引的那列当条件就行
索引为什么会提高检索效率? 原理如下:主要是使用了二叉树算法
如果含有索引的表进行了移库 我们需要重新创建索引!!!
当然,使用索引也是有代价的。
首先 ,是会占用电脑磁盘空间 如果索引多了就会影响电脑硬件运行速度
其次是 降低 增删改 语句的效率 因为需要重新生成二叉树
如何查看 索引是否被使用到
可以使用explain select * from stu where id = 1/G; 就是在语句前面加个explain 如果key不等于null则表示索引被使用了