Mysql分页优化

160 阅读1分钟

mysql分页查询时偏移量过大会导致查询过慢,优化方法如下

正常查询sql为

select * from tax_dictionary limit 2000,101;

优化后

//小表驱动大表
SELECT a.* FROM tax_dictionary  b, (select id from tax_dictionary  LIMIT 2000,101 ) a where a.id=b.id;

优化过后效率有明显提高

优化的原理 没有优化过查询会将偏移量前所有的数据都查询出来,这会有大量的回表操作。优化后的sql为先根据主键进行查询所有匹配的数据的主键,然后根据主键将要返回的数据再进行回表查询