Tôi có truy vấn này:
EXPLAIN (ANALYZE, BUFFERS)
SELECT * FROM test
WHERE
timestamp_range @> '2015-01-22 23:00:00'::timestamp
AND data_int_array @> '{49, 61}'::integer[];
Đầu ra nào:
Bitmap Heap Scan on test (cost=16.74..20.75 rows=1 width=113) (actual time=0.364..0.367 rows=2 loops=1)
Recheck Cond: ((timestamp_range @> '2015-01-22 23:00:00'::timestamp without time zone) AND (data_int_array @> '{49,61}'::integer[]))
Heap Blocks: exact=1
Buffers: shared hit=8
-> BitmapAnd (cost=16.74..16.74 rows=1 width=0) (actual time=0.351..0.351 rows=0 loops=1)
Buffers: shared hit=7
-> Bitmap Index Scan on ix_test_interval (cost=0.00..4.40 rows=17 width=0) (actual time=0.130..0.130 rows=12 loops=1)
Index Cond: (timestamp_range @> '2015-01-22 23:00:00'::timestamp without time zone)
Buffers: shared hit=2
-> Bitmap Index Scan on ix_test_data_int_array_data_json (cost=0.00..12.08 rows=11 width=0) (actual time=0.211..0.211 rows=6 loops=1)
Index Cond: (data_int_array @> '{49,61}'::integer[])
Buffers: shared hit=5
Planning time: 0.396 ms
Execution time: 0.484 ms
Tôi đã đọc tài liệu " Sử dụng giải thích ", nhưng tôi không tìm thấy bất kỳ tài liệu tham khảo nào về Heap Block.
Xin vui lòng, bạn có thể cho tôi biết những gì Heap Bock
có nghĩa là gì và nó liên quan đến như thế nào Buffers
trong một Bitmap Heap Scan
?
Tôi đang chạy: " PostgreSQL 9.4.5, compiled by Visual C++ build 1800, 64-bit
"