Rumah >pangkalan data >tutorial mysql >Bilakah Anda Harus Mencipta Indeks Komposit untuk Prestasi Pangkalan Data Optimum?
Indeks komposit ialah sejenis indeks yang merangkumi lebih daripada satu lajur. Ini berguna apabila pertanyaan kerap melibatkan berbilang lajur daripada jadual yang sama. Dengan memanfaatkan indeks komposit, pangkalan data boleh mendapatkan semula data dengan lebih cekap.
Menggunakan indeks komposit biasanya meningkatkan prestasi pertanyaan. Walau bagaimanapun, menggunakan bilangan indeks komposit yang berlebihan boleh memberi kesan negatif terhadap prestasi disebabkan oleh peningkatan saiz indeks dan overhed penyelenggaraan.
Pertimbangkan untuk mencipta indeks komposit untuk:
Dalam contoh anda, indeks komposit pada geolat dan geolng akan memanfaatkan penapisan pertanyaan berdasarkan koordinat ini, seperti sebagai:
SELECT * FROM homes WHERE geolat BETWEEN ??? AND ??? AND geolng BETWEEN ??? AND ???
Berdasarkan skema yang anda berikan, pertanyaan berikut:
EXPLAIN SELECT homes.home_id, address, city, state, zip, price, sqft, year_built, account_type_id, num_of_beds, num_of_baths, geolat, geolng, photo_id, photo_url_dir FROM homes LEFT OUTER JOIN home_photos ON homes.home_id = home_photos.home_id AND homes.primary_photo_group_id = home_photos.home_photo_group_id AND home_photos.home_photo_type_id = 2 WHERE homes.display_status = true AND homes.geolat BETWEEN -100 AND 100 AND homes.geolng BETWEEN -100 AND 100
menggunakan indeks paparan_status dan bukan geolat atau geolng indeks. Indeks komposit pada geolat dan geolng berpotensi meningkatkan prestasi pertanyaan dalam senario ini.
Atas ialah kandungan terperinci Bilakah Anda Harus Mencipta Indeks Komposit untuk Prestasi Pangkalan Data Optimum?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!