一、索引的介绍
数据库是用来存储数据,在互联网应用中数据库中存储的数据可能会很多(大数据),数据表中数据的查询速度会随着数据量的增长逐渐缓慢,从而导致用户请求的速度变慢——用户体验变差
索引,就是用来提高数据表中数据的查询效率的
当我们进行数据查询的时候,会生成一个“目录”,避免我们要全局查询
事先准备
1、声明数据库
use db_test2;
2、创建表
create table tb_testindex ( fid int primary key, sid int unique, tid int, name varchar(20), remark varchar(20) );
3、创建存储过程
#创建储存过程 create procedure proc_readydata( begin declare i int default 1; while i<=5000000 do insert into tb_testindex (fid,sid,tid,name,remark) values(i,i,i,'test_name','text_remark'); set i=i+1; end while; end;
4.调用存储过程
call+存储过程名;
5、当数据量巨大时,引入索引
二、索引的分类
三、创建索引
查看目前所有索引
语法
show keys from 表名;
#查询当前索引 show keys from tb_testindex ;
创建唯一索引
创建具体哪个表和列的唯一索引
create 约束 index关键字 索引名 on 表名(列名);
create unique index index_test1 on tb_testindex(tid);
创建普通索引
create index 索引名 on 表名(列名);
create index index_test2 on tb_testindex(name);
创建组合索引
将多个字段组合起来作为索引存在()括号中有多个字段(列)
create index index_test3 on tb_testindex(tid,name);
全文索引
四、索引使用
#索引使用 内部已经使用索引 select * from tb_testindex tt where tid=250000;
查看索引
1.在Mysql中查看索引
explain select * from tb_testindex表名 where tid列名=25000数据量\G;
2.在命令行窗口查看
使用数据库
use db_test2;
show create table 表名 index\G;
3.可视化工具查看索引
show indexes from 表名;
show indexes from tb_testindex ;
删除索引
drop index 索引名 on 表名;
drop index index_test3 on tb_testindex;
五、索引的使用总结