Heim  >  Artikel  >  Datenbank  >  So verwenden Sie table_cache-Konfigurationsparameter, um die MySQL-Leistung zu optimieren

So verwenden Sie table_cache-Konfigurationsparameter, um die MySQL-Leistung zu optimieren

伊谢尔伦
伊谢尔伦Original
2017-05-30 14:44:231423Durchsuche

table_cache ist ein sehr wichtiger MySQL-Leistungsparameter. In Versionen nach 5.1.3 heißt er table_open_cache. table_cache wird hauptsächlich zum Festlegen der Anzahl der Tabellencaches verwendet. Da jede Clientverbindung auf mindestens eine Tabelle zugreift, bezieht sich der Wert dieses Parameters auf max_connections.

Caching-Mechanismus

Wenn eine Verbindung auf eine Tabelle zugreift, überprüft MySQL die Anzahl der aktuell zwischengespeicherten Tabellen. Wenn die Tabelle bereits im Cache geöffnet ist, wird direkt auf die Tabelle im Cache zugegriffen, um die Abfrage zu beschleunigen. Wenn die Tabelle nicht zwischengespeichert ist, wird die aktuelle Tabelle zum Cache hinzugefügt und die Abfrage ausgeführt.

Vor der Durchführung einer Cache-Operation wird table_cache verwendet, um die maximale Anzahl zwischengespeicherter Tabellen zu begrenzen: Wenn die aktuell zwischengespeicherte Tabelle table_cache nicht erreicht, wird eine neue Tabelle hinzugefügt; wenn dieser Wert erreicht wurde, wird MySQL dies tun Cachen Sie es basierend auf der letzten Abfragezeit, der Abfragerate und anderen Regeln der Tabelle und geben Sie den vorherigen Cache frei.

Parameteroptimierung

Im Allgemeinen können Sie die Werte von Open_tables und Opened_tables in phpmyadmin anzeigen oder

mysql> show global status like 'open%_tables';

ausführen um die aktuelle Situation von open_tables anzuzeigen, wie in der Abbildung gezeigt:

um die Werte dieser beiden Parameter anzuzeigen. Dabei ist „Open_tables“ die Anzahl der aktuell geöffneten Tabellen und „Opened_tables“ die Anzahl aller geöffneten Tabellen.

Wenn der Wert von Open_tables nahe am Wert von table_cache liegt und Opened_tables weiter wächst, bedeutet dies, dass MySQL die zwischengespeicherte Tabelle freigibt, um die neue Tabelle aufzunehmen. Zu diesem Zeitpunkt ist möglicherweise der Wert von table_cache erforderlich erhöht werden. Für die meisten Situationen ist

ein besser geeigneter Wert:

Open_tables / Opened_tables >= 0.85
Open_tables / table_cache <= 0.95

Wenn Sie sich bei diesem Parameter nicht ganz sicher sind, gibt VPS Management Encyclopedia einen sehr konservativen Einstellungsvorschlag: Setzen Sie die MySQL-Datenbank Testen Sie es für einen bestimmten Zeitraum in der Produktionsumgebung und passen Sie dann den Parameterwert so an, dass er größer als der Wert von Opened_tables ist, und stellen Sie sicher, dass er unter extremen Bedingungen mit relativ hoher Last immer noch etwas größer als Opened_tables ist.

Cache leeren

Das Ausführen des Befehls

mysql > flush tables;

löscht alle derzeit zwischengespeicherten Tabellen.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie table_cache-Konfigurationsparameter, um die MySQL-Leistung zu optimieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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