记得在很久以前我在公司内部做过一次MySQL优化分享里面说到一个使用延迟关联实现排序分页类型SQL的优化,这个案例在《高性能MySQL》的第二版还是第三版也有提及。
延迟关联:通过覆盖索引返回所需数据行的主键,再通过主键获取所需数据。
这里我们来看一个使用延迟关联优化排序分页SQL的案例:
123456789101112131415 |
mysql> select sql_no_cache * from t_user_log where appname = '发号中心' order by logintime limit 1000000,1;+---------+-----------+--------------------------+--------------+-----------------+------------------------------------+------------+-----------+-----------+| id | uid | username | appname | loginip | loginlocation | logintime | logintype | useragent … |