In MySQL was bedeutet „Overhead“ bedeuten, was es schlecht ist, und wie man es beheben?

StackOverflow https://stackoverflow.com/questions/565997

  •  05-09-2019
  •  | 
  •  

Frage

einfache Frage, aber seine worden nörgelnden mich für eine Weile jetzt ....

Was ist "Overhead" in MySQL, und sollte ich besorgt sein?

"Optimierung der Tabelle" nicht klicken reparieren es für real?

War es hilfreich?

Lösung

Es scheint, dass der Overhead temporärer Speicherplatz ist, dass die Datenbank verwendet, um einige der Abfragen ausführen kann, so sollten Sie nur Sorgen machen, wenn dies wirklich hoch wird.

Sie können vergleichen ‚Optimierung der Tabelle‘ mit dem Defragmentieren Ihrer Festplatte.

Ich zitiere:

  

Jede Datenbank wird im Laufe der Zeit,   erfordern eine gewisse Form von Wartung   halten Sie es in einer optimal Leistung   Niveau. Bereinigen gelöschten Zeilen,   Resequenzierung, Stauchen, Verwalten   Indexpfade, Defragmentieren etc.   was als OPTIMIZATION in mysql bekannt   und andere Begriffe in den anderen Datenbanken.   Zum Beispiel IBM DB2 / 400-Anrufe es   REORGANISIEREN physische Datei MEMBER.

     

Es ist ein bisschen wie Ölwechsel in   Ihr Auto oder ein Tune-up zu bekommen. Du könntest   Denken Sie wirklich nicht haben, aber durch   Damit Sie Ihr Auto läuft viel besser,   Sie erhalten eine bessere Benzinverbrauch, etc. Ein Auto   das bringt viele Kilometer erfordert   Tune-Ups häufiger. Eine Datenbank, die   wird die starke Nutzung der gleichen erfordert. Wenn   Sie sind viel UPDATE tun und / oder   DELETE-Operationen, und vor allem, wenn   Ihre Tabellen mit variabler Länge   Spalten (VARCHAR, TEXT usw.), müssen Sie   zu halten ‚er getunt.

Andere Tipps

Wenn Sie über die Sache sprechen, die Anrufe phpMyAdmin overhead, dann ist es tatsächliche Größe einer Tabelle Daten-Datei in Bezug auf die ideale Größe der gleichen Daten-Datei (als ob, wenn nur aus einer Sicherung gestellt).

Aus Leistungsgründen MySQL compact nicht die Datendateien, nachdem sie löscht oder Updates Zeilen.

Dieses overhead ist schlecht für die Table-Scan, i. e. wenn Ihre Abfrage alle Tabellenwerte zu überfahren muss, muss es bei mehr leeren Raum suchen.

Sie der overhead erhalten können, indem Sie OPTIMIZE TABLE befreien, die Tabelle und Indizes komprimieren wird.

Overhead ist Data_free einer Tabelle, das heißt Die Anzahl der zugeteilten, aber nicht genutzten Bytes. Wir können es durch SQL-Befehl finden Sie SHOW TABLE STATUS . Es ist der freie Raum in zugewiesene Größe für Ihre Tabelle.

Optimieren Tabelle kann sehr problematisch sein. Zum Beispiel, wenn der Tisch stark auf einer Website verwendet.

http://dev.mysql.com/doc/ refman / 5.1 / de / optimize-table.html

  

Nach einem großen Teil eines MyISAM oder ARCHIV Tabelle zu löschen, oder machen viele Änderungen an eine MyISAM oder ARCHIV Tabelle mit Zeilen variabler Länge (Tabellen, die VARCHAR, VARBINARY, BLOB oder TEXT Spalten). Gelöschte Zeilen werden in einer verknüpften Liste und nachfolgende INSERT-Operationen verwenden die alten Zeilenpositionen gehalten. <

Ich glaube, ich dieses Verhalten bestätigt haben. Und es wäre sicherlich in der Tat sehr nützlich sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top