Anda dapat menghilangkan masalah kinerja pengelompokan dan penghitungan jika Anda menyimpan informasi itu di suatu tempat. Anda dapat menambahkan kolom ke Produk yang disebut total_categories
yang akan memberi tahu Anda berapa banyak kategori yang diikuti produk. Kemudian Anda cukup mengatakan where total_categories = 4
. Ini mungkin lebih sulit untuk dipertahankan jika produk sering mengubah kategorinya karena Anda harus terus memperbarui bidang ini dengan benar - dan kemudian Anda harus memutuskan apakah Anda ingin melakukannya dalam kode aplikasi atau dalam pemicu atau dalam prosedur tersimpan ...
Biasanya saya tidak akan berpikir itu ide yang sangat baik untuk menyimpan metadata seperti itu secara langsung dalam sebuah tabel, tetapi jika kinerjanya benar-benar seburuk itu, mungkin layak dipertimbangkan.