Bitmap halaman dibuat secara dinamis untuk setiap kueri. Itu tidak di-cache atau digunakan kembali, dan dibuang di akhir pemindaian indeks bitmap.
Tidak masuk akal untuk membuat bitmap halaman terlebih dahulu karena isinya bergantung pada predikat kueri .
Katakanlah Anda sedang menelusuri x=1 and y=2 . Anda memiliki indeks b-tree pada x dan y . PostgreSQL tidak menggabungkan x dan y menjadi bitmap kemudian mencari bitmap. Ini memindai indeks x untuk alamat halaman semua halaman dengan x=1 dan membuat bitmap di mana halaman yang mungkin berisi x=1 benar. Kemudian memindai y mencari alamat halaman di mana y mungkin sama dengan 2 , membuat bitmap dari itu. Kemudian AND membuat mereka menemukan halaman di mana keduanya x=1 dan y=2 mungkin benar. Akhirnya, ia memindai tabel itu sendiri, hanya membaca halaman yang mungkin berisi nilai kandidat, membaca setiap halaman dan hanya menyimpan baris di mana x=1 and y=2 .
Sekarang, jika Anda mencari sesuatu seperti indeks bitmap yang dibuat sebelumnya dalam cache, ada hal seperti itu di PostgreSQL 9.5:indeks BRIN . Ini ditujukan untuk tabel yang sangat besar, dan menyediakan cara untuk menemukan rentang tabel yang dapat dilewati karena diketahui tidak berisi nilai yang diinginkan.