Indeks komposit ialah indeks pangkalan data yang merangkumi berbilang lajur, menawarkan prestasi carian yang cekap apabila pertanyaan melibatkan berbilang lajur. Ia adalah alat berkuasa yang boleh meningkatkan prestasi pangkalan data dengan ketara, tetapi aplikasinya harus dipertimbangkan dengan teliti untuk memaksimumkan faedahnya.
Indeks komposit sesuai apabila:
Komposit indeks menawarkan kelebihan prestasi yang ketara tetapi turut disertakan dengan beberapa tukar ganti:
Dalam contoh anda, di mana anda mempunyai jadual rumah dengan lajur seperti geolat, geolng, sqft dan year_built, a indeks komposit pada (geolat, geolng) akan bermanfaat jika anda kerap melaksanakan pertanyaan yang menapis atau menyertai berdasarkan kedua-dua koordinat lokasi.
Pertanyaan dengan Indeks Komposit:
SELECT * FROM homes WHERE geolat BETWEEN ... AND ... AND geolng BETWEEN ... AND ...
Pertanyaan ini akan memanfaatkan indeks komposit ( geolat, geolng) untuk menapis dengan cekap berdasarkan kedua-dua koordinat lokasi, menghasilkan lebih pantas pelaksanaan.
Pertanyaan tanpa Indeks Komposit:
SELECT * FROM homes WHERE geolat = ... AND geolng = ...
Tanpa indeks komposit, pangkalan data mesti melaksanakan imbasan jadual penuh untuk mendapatkan semula rekod yang sepadan, membawa kepada lebih perlahan pelaksanaan.
Dalam senario anda yang dikemas kini, dengan skema tambahan dan butiran pertanyaan, indeks komposit dihidupkan (geolat, geolng) masih disyorkan. Output EXPLAIN menunjukkan bahawa pertanyaan menggunakan indeks lajur tunggal sedia ada pada geolat dan geolng tetapi tidak menggabungkannya untuk penapisan julat. Indeks komposit pada kedua-dua lajur akan menggabungkannya dan berpotensi mengoptimumkan lagi prestasi pertanyaan.
Atas ialah kandungan terperinci Bilakah Anda Harus Menggunakan Indeks Komposit untuk Pengoptimuman Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!