Ein zusammengesetzter Index ist ein Indextyp, der mehr als eine Spalte umfasst. Dies ist nützlich, wenn Abfragen häufig mehrere Spalten aus derselben Tabelle umfassen. Durch die Nutzung eines zusammengesetzten Index kann die Datenbank Daten effizienter abrufen.
Die Verwendung eines zusammengesetzten Index verbessert normalerweise die Abfrageleistung. Die Verwendung einer übermäßigen Anzahl zusammengesetzter Indizes kann sich jedoch aufgrund der erhöhten Indexgröße und des Wartungsaufwands negativ auf die Leistung auswirken.
Erwägen Sie die Erstellung eines zusammengesetzten Index, um:
In Ihrem Beispiel würde ein zusammengesetzter Index für Geolat und Geolng die Filterung von Abfragen basierend auf diesen Koordinaten begünstigen, wie zum Beispiel:
SELECT * FROM homes WHERE geolat BETWEEN ??? AND ??? AND geolng BETWEEN ??? AND ???
Basierend auf Ihrem bereitgestellten Schema Folgendes query:
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
verwendet den display_status-Index und nicht den Geolat- oder Geolng-Index. Ein zusammengesetzter Index für Geolat und Geolng könnte in diesem Szenario möglicherweise die Abfrageleistung verbessern.
Das obige ist der detaillierte Inhalt vonWann sollten Sie einen zusammengesetzten Index für eine optimale Datenbankleistung erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!