Sql查询优化经验总结
本文的总结经验大多基于postgres数据库
避免使用lower函数
直接写sql的话,lower函数比较容易可以意识到。
在使用java的一些orm 查询框架的时候,有一些语法会自动带入lower函数,例如
equalsIgnoreCase()
对于这样的method我们需要尽量避免,将它替换为equals()
查询时默认不返回count
spring jpa的repository查询会默认执行count计算,框架提供了下面的写法来吧count计算禁用掉:
getUserWithoutCount();
详情参考文档:
创建正确得index
1.order by后面跟的多个条件需要建立联合索引,否则不会进行index scan.
根据sql调整index:
order by creation_date desc, id asc limit 10, you need to create index (creation_date desc, id asc).
order by creation_date asc, id desc", you need to create index (creation_date asc</

本文分享了关于Postgres数据库的SQL查询优化经验,包括避免使用lower函数以提高性能,禁用Spring JPA查询时的默认count计算,以及如何创建有效的索引。文章指出,多个orderby条件需建立联合索引,并提醒即使有索引,数据库也可能选择tablescan。还提到了数据库索引大小的问题,以及RabbitMQ消息中间件中消息未被消费的情况。
最低0.47元/天 解锁文章
959

被折叠的 条评论
为什么被折叠?



