Heim >Datenbank >MySQL-Tutorial >MySQL-Optimierung (5) Indizierung und Sortierung
Bei der Sortierung können zwei Situationen auftreten:
1: Bei abdeckenden Indizes liegt bei der Abfrage direkt auf dem Index eine Reihenfolge vor,
unter Verwendung des Index, oder sie kann bei der Abfrage von Sortieren entlang des Indexfelds erfolgen Abfrage. Zu diesem Zeitpunkt sind die Sortierkosten niedrig
2: Nehmen Sie zuerst die Daten heraus und erstellen Sie eine temporäre Tabelle für die Dateisortierung (Dateisortierung, aber die Datei kann sich auf der Festplatte oder im Speicher befinden)
Unser Ziel-----die abgerufenen Daten selbst sind in Ordnung!
Verwenden Sie den Index zum Sortieren.
Zum Beispiel: Warenprodukttabelle, (cat_id,shop_price) bilden einen gemeinsamen Index,
wobei cat_id=N Bestellung nach Shop_Preis, Sie können den Index zum Sortieren verwenden,
Auswahl von Waren_ID,Katze_ID,Shop_Preis aus Warenbestellung nach Shop_Preis;
/ / unter Verwendung von where werden die anhand des shop_price-Index entnommenen Ergebnisse selbst geordnet
select waren_id,cat_id,shop_price aus der Warenbestellung per click_count;
// Die Verwendung von filesort verwendet die Dateisortierung, d. h. die abgerufenen Ergebnisse werden erneut sortiert.
Wenn mysim ausgeführt wird, werden sie alle gefunden, dann sortiert und dann zurückgekehrt, um die Zeilen abzurufen. Solange ein Index vorhanden ist, ist der Index tatsächlich nicht groß. Die Indexklicks und die ID können kombiniert werden, um einen Index zu erstellen
innodb befindet sich direkt unter dem Blatt
Doppelte Indizes sind bedeutungslos
Redundante Indizes verbessern die Effizienz.
Indexfragmentierung und -wartung
Große Websites löschen selten Daten, wodurch eine Lücke entsteht Festplatte; und kurze Bytes, die nicht einfach wiederverwendet werden können
Fragmentierung des Speichers;
Lücken beheben
Während des langfristigen Datenänderungsprozesses werden beide indiziert Dateien und Datendateien erzeugen Lücken und werden fragmentiert.
Wir können eine Nop-Operation (nicht (Operationen, die einen wesentlichen Einfluss auf die Daten haben)) verwenden,
um die Tabelle zu ändern.
Zum Beispiel: Die Engine der Tabelle ist innodb.
kann die Engine innodb der Tabelle xxx ändern, was im Wesentlichen keine Auswirkungen auf die Daten hat, um die Tabelle zu ändern. Die Daten werden jedoch neu organisiert
Tabellennamen optimieren, der auch repariert werden kann
Hinweis: Durch das Reparieren der Daten und Indexfragmente der Tabelle werden alle neu angeordnet Datendateien, um sie auszurichten.
Dieser Vorgang ist auch ein sehr ressourcenintensiver Vorgang, wenn die Anzahl der Zeilen in der Tabelle relativ groß ist.
Daher können Reparaturen nicht häufig durchgeführt werden wird länger dauern! ! ! !
Wenn der Aktualisierungsvorgang der Tabelle sehr häufig vorkommt, kann er wöchentlich/monatlich repariert werden.
Wenn er selten vorkommt, kann er repariert werden ein längerer Zeitraum.
Das Obige ist der Inhalt der Indizierung und Sortierung von MySQL Optimization (5). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!