二、mysql优化

一、expain计划分析

二、创建索引

三、具体优化

1、max

一般创建索引解决

 

2、count

 count统计时,如果是count(*),则会把空null行也统计进去,count(字段名),则不会把null字段统计进去,创建索引和max一样

 

3、order by,排序如何避免using filesort

 

 

 1、第一种情况分析,建立索引,顺序如下 (name,age,salary)

 

2、第三种情况

 

4、group by,分组如何避免using temporary,其遵守的规则与order by 一样

 

5、limit

 

6、in与exists,小表驱动大表

连接5次,操作5000次,连接最消耗资源的for(int i=0; i<5; i++){  for(int i=0; i<5000; i++){  }}
select * from t1 where id in (select id from where t2)执行顺序是,先t2,再t1,t2是小表,t1是多大表for(t2){  for(t1){  }}
select * from t1 where exist (select 1 from where t2.id = t1.id)执行顺序是,先t1,再t2,t2是小表,t1是多大表,所以这种就会t1大表驱动小表,不推荐for(t1){  for(t2){  }}

7、索引失效的条件

 

相关文章