Gunakan dapat menggunakan indeks parsial untuk mengatasi fakta bahwa "&" bukan operator yang dapat diindeks (afaik):
CREATE INDEX vendors_typeA ON vendors(id) WHERE (type & 2) > 0;
CREATE INDEX vendors_typeB ON vendors(id) WHERE (type & 4) > 0;
Tentu saja, Anda harus menambahkan indeks baru setiap kali Anda menambahkan tipe baru. Yang merupakan salah satu alasan untuk memperluas data ke dalam tabel asosiasi yang kemudian dapat diindeks dengan benar. Anda selalu dapat menulis pemicu untuk mempertahankan tabel bitmask tambahan, tetapi gunakan tabel banyak-ke-banyak untuk benar-benar mempertahankan data secara normal, karena akan jauh lebih jelas.
Jika seluruh evaluasi penskalaan dan kinerja Anda adalah mengatakan "Saya mungkin memiliki jutaan baris", Anda belum melakukan cukup banyak untuk mulai melakukan pengoptimalan semacam ini. Buat model jelas yang terstruktur dengan baik terlebih dahulu, optimalkan nanti berdasarkan statistik nyata tentang kinerjanya.