Mysql数据库 15.SQL语言 索引

一、索引的介绍

数据库是用来存储数据,在互联网应用中数据库中存储的数据可能会很多(大数据),数据表中数据的查询速度会随着数据量的增长逐渐缓慢,从而导致用户请求的速度变慢——用户体验变差

索引,就是用来提高数据表中数据的查询效率的

当我们进行数据查询的时候,会生成一个“目录”,避免我们要全局查询

事先准备

1、声明数据库

use db_test2;

Mysql数据库 15.SQL语言 索引_第1张图片

2、创建表

create table tb_testindex (
	fid int primary key,
	sid int unique,
	tid int,
	name varchar(20),
	remark varchar(20)
);

Mysql数据库 15.SQL语言 索引_第2张图片

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;

Mysql数据库 15.SQL语言 索引_第3张图片

4.调用存储过程

call+存储过程名;

Mysql数据库 15.SQL语言 索引_第4张图片

5、当数据量巨大时,引入索引

二、索引的分类

Mysql数据库 15.SQL语言 索引_第5张图片

三、创建索引

查看目前所有索引

语法

show keys from 表名;

#查询当前索引
show keys from tb_testindex ;

Mysql数据库 15.SQL语言 索引_第6张图片

创建唯一索引

创建具体哪个表和列的唯一索引

create 约束 index关键字 索引名 on 表名(列名);

create unique index index_test1 on tb_testindex(tid);

Mysql数据库 15.SQL语言 索引_第7张图片

创建普通索引

create index 索引名 on 表名(列名);

create index index_test2 on tb_testindex(name);

Mysql数据库 15.SQL语言 索引_第8张图片

创建组合索引

将多个字段组合起来作为索引存在()括号中有多个字段(列)

create index index_test3 on tb_testindex(tid,name);

Mysql数据库 15.SQL语言 索引_第9张图片

全文索引

Mysql数据库 15.SQL语言 索引_第10张图片四、索引使用

#索引使用 内部已经使用索引
select * from tb_testindex tt where tid=250000;

Mysql数据库 15.SQL语言 索引_第11张图片

查看索引

1.在Mysql中查看索引

explain select * from tb_testindex表名 where tid列名=25000数据量\G;

2.在命令行窗口查看

使用数据库

use db_test2;

show create table 表名 index\G;

Mysql数据库 15.SQL语言 索引_第12张图片

3.可视化工具查看索引

show indexes from 表名;

show indexes from tb_testindex ;

Mysql数据库 15.SQL语言 索引_第13张图片

删除索引

drop index 索引名 on 表名;

drop index index_test3 on tb_testindex;

Mysql数据库 15.SQL语言 索引_第14张图片

五、索引的使用总结

Mysql数据库 15.SQL语言 索引_第15张图片

你可能感兴趣的:(Mysql数据库,数据库,mysql)