索引和慢查询优化

索引

01 为什么要用索引

对于一个应用来说,对数据库的读写比例基本上是10:1,即读多写少
而且对于写来说极少出现性能问题,大多数性能问题都是慢查询
提到加速查,就必须用到索引

02 什么是索引

索引就相当于书的目录,是mysql中一种专门的数据结构,称为key,
索引的本质原理就是通过不断地缩小查询范围,来降低io次数从而提升查询性能
强调:一旦为表创建了索引,以后的查询都会先查索引,再根据索引定位的结果去找数据

03 索引的影响

1、在表中有大量数据的前提下,创建索引速度会很慢,
2、在索引创建完毕后,对表的查询性能会大幅度提升,但是写性能会降低

04 聚集索引(primary key)

特点:叶子节点存放的一整条数据

05 辅助索引(unique,index)

特点:
如果是按照这个字段创建的索引,
那么叶子节点存放的是:{名字:名字所在那条记录的主键的值}

06 覆盖索引

只在辅助索引的叶子节点中就已经找到了所有我们想要的数据

 select name from user where name='egon';
 select age from user where name='egon';

猜你喜欢

转载自www.cnblogs.com/guodengjian/p/9038562.html