Heim  >  Artikel  >  Datenbank  >  MySQL-Optimierung (5) Indizierung und Sortierung

MySQL-Optimierung (5) Indizierung und Sortierung

黄舟
黄舟Original
2016-12-29 16:10:211161Durchsuche

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)!


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn