使用EXPLAIN (postgresql) 对sql进行优化

优化SQL查询:详解explain分析与成本优化策略
本文介绍如何通过explain分析SQL语句,包括使用ANALYZE选项的实际执行和预估成本,重点关注SeqScan、实际执行时间、内存命中率等因素,以提升查询效率。

现在sql优化有两种方向,一种是通过增加缓存的方式,比如通过使用redis , mybites 一二级缓存来提高查询效率。 第二种是通过使用explain来分析慢查询的sql语句, 找到该语句的问题从而进行优化。

这里对使用explain来进行优化的方式做一些介绍。

使用方式:  explain +  sql => 执行 =>  查看结果

使用explain会打印出来数据库引擎在底层执行sql语句是具体是怎么做的。

举个例子:

使用explain对这条sql语句进行具体的分析。

explain (ANALYZE on ,TIMING on, VERBOSE on, BUFFERS on, COSTS on )select data_date from e_mp_energy_month where data_date between to_date('2021-02','yyyy-mm-dd') and to_date('2021-02','yyyy-mm-dd') and meter_id in ( 20122700000146 , 20122700000147 , 20122700000148 , 20122700000149 , 20122700000150 , 20122700000151 , 20122700000152 , 20122700000153 , 20122700000154 , 20122700000155 , 20122700000156 , 20122700000157 , 20122700000158 , 20122700000159 , 20122700000160 , 20122700000161 , 20122700000162 , 20122700000163 , 20122700000164 ) order by meter_id,data_date asc

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值