优化sql mysql 中分页 LIMIT offset,length 当offset过大时如何优化。代码如下
SELECT ae.EventID, ae.DeptID, ae.systemid, ae.SubSystemID, ae.TransDeviceID, ae.MonitorDeviceID, ae.ViFSDataType, ae.EventType, ae.EventNo, ae.EventInfo, ae.HappendTime, ae.ReceiveTime, ae.ProcessState FROM alarmevent ae WHERE 1 = 1 AND ae.DEPTID LIKE '0001%' AND ae.EventType = '1' AND ae.ProcessState = 0 ORDER BY ae.ReceiveTime DESC LIMIT 7000, 50
最新回答
青春还年少
2024-02-01 18:02:15
limit 第一个参数是查询的 开始位置,第二个是查询的行数,跟数值大小没关系,如果你的查询慢,因该检查 表是否有索引,而且 like 查询 在大数据中很影响性能,一般like语句会造成全表扫描
SELECT id FROM ( SELECT id, ((@cnt:= @cnt + 1) + $perpage - 1) % $perpage cnt FROM news JOIN (SELECT @cnt:= 0)T WHERE id < $last_id ORDER BY id DESC LIMIT $perpage * $buttons )C WHERE cnt = 0;