MySQL分页查询优化前言
Mysql慢查询优化,一直是开发中不可避免的问题,当然面试的时候也是。
今天的面试中,面试的最后一道题:“如何提供分页查询”,我自信的写下 LIMIT,认为此题十拿九稳,面试官此后的问题为当 offset到一定数量的时候怎么优化,因为之前没有遇到过类似的问题,而且也没有量特别大的分页,所以这个问题只能作罢。
复盘
回家后弄了个大概有快20W数据的表,实测一下,查询速度是否会因为 limit边大而边长。
如上图所示,同样的查询条件下,因为 limit增大查询速度确实变慢了很多。
why?
对于limit子句 LIMIT [offset,] row_count,官网说明如下
Theoffset specifies the offset of the first row to return. Theoffset of the first row is 0, not 1.
Therow_count specifies the maximum number of rows to return.
翻译一下就是:
offset参数指定要返回的第一行的偏移量。第一行的偏移量为0,而不是1。
...