专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
目录
今天看啥  ›  专栏  ›  macrozheng

分页查询接口,从2s优化到了0.01s!

macrozheng  · 公众号  · 数据库  · 2024-11-07 10:32
    

主要观点总结

文章提供了关于百万商品分页查询接口性能优化的9个技巧和建议。包括增加默认条件、减少每页大小、减少join表的数量、优化索引、使用straight_join、数据归档、使用count(*)、从ClickHouse查询和数据库读写分离等。

关键观点总结

关键观点1: 增加默认条件

通过为分页查询接口提供默认条件来缩小数据范围,避免每次都计算所有数据。

关键观点2: 减少每页大小

分页查询接口的每页大小不宜过大,过大的每页大小会影响接口性能。

关键观点3: 减少join表的数量

通过优化sql语句,减少join表的数量,提高分页查询接口的性能。

关键观点4: 优化索引

通过优化索引,提高分页查询接口的性能。建议使用explain关键字查看执行计划,根据实际情况创建或优化索引。

关键观点5: 使用straight_join代替inner join

在某些情况下,使用straight_join代替inner join可以解决MySQL选错索引的问题。

关键观点6: 数据归档

将历史数据归档到历史表中,减少主表的数据量,提高分页查询接口的性能。

关键观点7: 使用count(*)

在使用count统计总记录数时,使用count(*)或count(1)是性能最高的选择。

关键观点8: 从ClickHouse查询

将数据存储到ClickHouse等列式数据库中,提高查询性能。

关键观点9: 数据库读写分离

通过数据库读写分离,将读数据请求和写数据请求分别访问不同的数据库,提高系统的并发能力和查询性能。


免责声明

免责声明:本文内容摘要由平台算法生成,仅为信息导航参考,不代表原文立场或观点。 原文内容版权归原作者所有,如您为原作者并希望删除该摘要或链接,请通过 【版权申诉通道】联系我们处理。

原文地址:访问原文地址
总结与预览地址:访问总结与预览
推荐产品:   推荐产品
文章地址: 访问文章快照