SQL优化

2016-12-21  本文已影响27人  忘净空

count()

select count(*)、select count(1)效率

  1. select count(*) 于 select count(1)在不加条件的情况下效率相同,同时使用了索引。

  2. select count(*)与select count(1)在增加条件(where)的情况下使用了全表扫表。

  3. select count() 与select count()在为条件建立索引的情况加,使用索引,效率提高。

总结:在不使用where的情况下默认使用主键索引,如使用where,则需合理创建索引提高效率。如果是select count(col),则可在col添加索引提高效率。

limit

  1. select * from student limit 10, 10;
  2. select * from user limit 10000,10;

执行发现2的效率不如1,得出结论:当数据量偏移量较小的时候可以直接使用limit,当数据量偏移量较大的时候。

优化

简单的使用limit不会使用索引

  1. 使用order by id优化

  2. 添加where定位offset
    select * from student where id > 3 limit 4

上一篇下一篇

猜你喜欢

热点阅读