Tidak, Anda dapat mengindeks bidang boolean jika Anda akan memfilternya. Itu hal yang wajar untuk dilakukan, meskipun seperti halnya semua indeks, PostgreSQL dapat memilih untuk mengabaikannya jika tidak cukup mengecualikan tabel -- pemindaian indeks ditambah satu ton pengambilan baris mungkin lebih mahal daripada pemindaian berurutan - - yang mungkin atau mungkin tidak memengaruhi Anda bergantung pada nilai di kolom itu.
Anda juga harus menyadari bahwa PostgreSQL memungkinkan Anda menempatkan kondisi pada indeks, yang menurut saya sering berguna dengan bidang boolean. (Lihat Indeks Sebagian
untuk detailnya.) Jika Anda biasanya memfilter atau menyortir dalam cakupan itu, Anda mungkin paling baik dilayani oleh sesuatu seperti CREATE INDEX ... ON table (some_field) WHERE boolean_field
.