【发布时间】:2019-09-03 04:27:35
【问题描述】:
位图扫描作者described the difference between Bitmap Heap Scan and Index Scan:
普通索引扫描一次从索引中获取一个元组指针, 并立即访问表中的那个元组。位图扫描获取 一次从索引中获取所有元组指针,使用 内存中的“位图”数据结构,然后访问表中的元组 物理元组位置顺序。位图扫描提高了局部性 以更多的簿记开销为代价参考该表 管理“位图”数据结构 --- 并以数据为代价 不再按索引顺序检索,这对您来说无关紧要 查询,但如果你说 ORDER BY 会很重要。
问题:
当索引已经排序后,为什么要再次对获取的元组指针进行排序?
如何用位图排序?我知道位图是什么,但我不明白它如何用于排序。
为什么在获取较大比例的表时它比索引扫描更快?相反,它似乎给进程增加了相当多的计算量。
【问题讨论】:
标签: postgresql indexing postgresql-performance