PostgreSQL查询扫描原理

一、扫描方法原理

        扫描方法的原理包括 seqscan、index scan、index only scan、bitmap scan 等。

  •         seqscan 是一种简单的顺序扫描方法,它按照表中数据的物理存储顺序进行扫描。它会按照磁盘上数据的物理顺序依次读取每一行记录。这种扫描方式适用于需要扫描大部分或全部数据的情况下,例如需要返回一张表中的所有记录或者需要进行全表聚合查询时。
  •         index scan 是指使用索引进行扫描,它会根据查询条件在索引上进行查找,并且只读取满足条件的记录。这种扫描方式适用于查询条件较为严格、能够使用索引进行高效查找的情况下,例如通过主键或唯一索引进行查询。它可以利用索引快速定位数据。
  •         index only scan 纯索引扫描。则是在索引中获取所需数据,而不需要访问数据表,因此查询速度更快。
  •         bitmap scan 是一种基于位图的扫描方法,它可以通过对多个索引进行并集或交集操作,快速定位并返回所需数据。

二、PostgreSQL选择较慢的Seq Scan而不是Index Scan

        在某些情况下,PostgreSQL会选择较慢的Seq Scan而不是Index Scan。这主要是由于以下几个因素:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值