postgresql 索引状态_postgresql – Postgres查询优化(强制索引扫描)

以下是我的查询.我试图让它使用索引扫描,但它只会seq扫描.

顺便提一下,metric_data表有1.3亿行.度量表有大约2000行.

metric_data表列:

metric_id integer

, t timestamp

, d double precision

, PRIMARY KEY (metric_id, t)

如何获取此查询以使用我的PRIMARY KEY索引?

SELECT

S.metric,

D.t,

D.d

FROM metric_data D

INNER JOIN metrics S

ON S.id = D.metric_id

WHERE S.NAME = ANY (ARRAY ['cpu', 'mem'])

AND D.t BETWEEN '2012-02-05 00:00:00'::TIMESTAMP

AND '2012-05-05 00:00:00'::TIMESTAMP;

说明:

Hash Join (cost=271.30..3866384.25 rows=294973 width=25)

Hash Cond: (d.metric_id = s.id)

-> Seq Scan on metric_data d (cost=0.00..3753150.28 rows=29336784 width=20)

Filter: ((t >= '2012-02-05 00:00:00'::timestamp without time zone)

AND (t <= '2012-05-05 00:00:00'::timestamp without time zone))

-> Hash (cost=270.44..270.44 rows=68 width=13)

-> Seq Scan on metrics s (cost=0.00..270.44 rows=68 width=13)

Filter: ((sym)::text = ANY ('{cpu,mem}'::text[]))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值