今天帮别人调bug时,一个功能需要计算总页数,结果呢,同事后面加了个limit。 代码如下: SELECTcount(*)FROM t_order o LEFT JOIN t_customer c ON o.customerId = c.idLEFT JOIN t_order_state os ON o.orderStatId = os.idLEFT JOIN t_source_typ
正如题目所问。 其实不一样的。这是 MySQL 中典型的深度分页问题。 MySQL 的LIMIT m n工作原理是先读取前 m+n 条记录,再抛弃前 m 条,然后返回后面的 n 条数据。因此,当 m 值增大时,偏移量也增大,性能表现就会变差。 因此,LIMIT 10000000,100要比LIMIT 0,100的性能差得多,因为它需要先读取 10000100 条数据,然后再抛弃前 10000