问一下,分页查询整体数据量非常大的情况的时候;页数增大,查询内存增加,甚至越到后面的页数直接就内存溢出,是需要怎么处理,或者修改什么配置吗?版本2.1.5
问一下,分页查询整体数据量非常大的情况的时候;页数增大,查询内存增加,甚至越到后面的页数直接就内存溢出,是需要怎么处理,或者修改什么配置吗?版本2.1.5
是order by + limit offset吗?
order by通常需要对查询结果的所有数据进行排序。如果查询结果集非常大,这意味着要处理大量的数据行,从而需要占用较多的内存来存储中间结果和进行排序操作。
可以参考:
1、只选择实际需要的字段,减少数据传输和处理的内存占用,不要使用 SELECT *,而是明确列出所需的列名。
2、合理过滤数据,添加有效的过滤条件,减少查询返回的数据量,可以显著降低内存消耗。
3、如果数据可以进行分区,根据查询条件将数据分区存储。这样在查询时可以只查询特定的分区,减少数据量和内存使用。
4、合理使用索引和简化复杂sql优化。