当前位置:Gxlcms > 数据库问题 > mysql 索引

mysql 索引

时间:2021-07-01 10:21:17 帮助过:26人阅读

all:表示全表内容的扫描,如:

select  *  from  tb10;

select * from tb10 limit 2;

但是使用limit的速度会更快,因为查到满足限制条件的内容,就不会再查询了。

index:表示对索引进行全扫描,会比all快些,因为相比较,比表的内容列更少,也无重复的数据。

range:对索引的范围进行查找

index_merge:合并索引,使用多个单列索引进行搜索

ref:根据索引查找一个或者多个值

eq_ref:使用主键索引或者唯一索引进行查询

const:常量 表最多有一个匹配行,因为仅有一行,在这行的列值可被优化器剩余部分认为是常数,const表很快,因为它们只读取一次。

system:系统 表仅有一行(=系统表)。这是const联接类型的一个特例。

 

对于慢日志的记录:

1、在内存中修改配置,立即生效

查看当前配置信息:show variables like ‘%query%‘

设置当前配置信息:set global 变量名 = 值

2、在文件中设置配置,重启之后才能生效

mysql中的分页:

1、

select * from tb10 limit 10,10;

这种方式会造成对整个数据库内容的扫描,降低查询速度,

2、根据主键id进行分页

该方式需要记录下当前页面的最开始id和最后id

select * from tb10 where id > max_id limit 10; #相当于下一页数据
select * from tb10 where id < min_id order by id desc limit 10; #相当于下一页数据
select * from tb10 where id in (select id from tb10 where id > max_id order by id desc limit 30) limit 10;

mysql 索引

标签:btree   无法   建表   esc   数值   函数   复数   类型   系统   

人气教程排行