分页SQL语句优化
原SQL语句:
SELECT * FROM test FORCE INDEX(idx_m_n) WHERE m=1 ORDER BY n LIMIT 1000,10;条件:
Test表为InnoDB存储引擎,主键为BIGINT类型的ID字段,二级索引:idx_m_n(m,n)优化后为:请简述优化的理由:
sql优化分页
原SQL语句:
SELECT * FROM test FORCE INDEX(idx_m_n) WHERE m=1 ORDER BY n LIMIT 1000,10;条件:
Test表为InnoDB存储引擎,主键为BIGINT类型的ID字段,二级索引:idx_m_n(m,n)优化后为:请简述优化的理由:
sql优化分页
因为原始的是先以n排序 再limit
如果这种思路不对,那么还有哪里需要做出优化??
如果去掉force之后的速度不满足要求,那可能是数据量过大或者架构设计有问题~~~
select T1.* from test T1,(
SELECT id FROM test FORCE INDEX(idx_m_n) WHERE m=1 ORDER BY n LIMIT 1000,10
)T2
where T1.id=T2.id
自己动手,丰衣足食
分析一下