企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
请使用5.7以上版本, 5.5 会非常慢 分页条件查询的sql写在子查询中 只返回id, 在外边根据id在手动查询数据,这样可以大量减少回表,提高些性能。 mysql分页是:把当前分页前的数据也查询出来,然后得到当前分页的数据,前边的再抛弃掉。如:查询第100页的数据,那么mysql会把前边的99页和当前100页的数据都查询出来,然后再放弃前边的99页,只留下需要的第100页面数据。 ``` 请使用5.7以上版本, 5.5 会非常慢 120万数据情况下 使用子查询, 先查询到数据的id, 再查询其他字段, 在都有索引的情况下快了 0.359 秒 SELECT * FROM sys_user WHERE id IN ( SELECT t.id FROM ( SELECT id FROM sys_user WHERE `status` = 0 ORDER BY create_time DESC, id DESC LIMIT 826163, 10 ) AS t ) ORDER BY create_time DESC, id DESC; 直接分页 2.009秒 SELECT * FROM sys_user WHERE `status` = 0 ORDER BY create_time DESC, id DESC LIMIT 826163, 10 ```