Heim  >  Artikel  >  Datenbank  >  Beschreibung der Table_cache-Konfigurationsparameter in MySQL

Beschreibung der Table_cache-Konfigurationsparameter in MySQL

伊谢尔伦
伊谢尔伦Original
2017-06-28 14:10:191435Durchsuche

In diesem Artikel werden hauptsächlich die Tabellen_Cache-Konfigurationsparameter von MySQLLeistungsoptimierung vorgestellt. In diesem Artikel werden der Cache-Mechanismus, die Parameteroptimierung und das Löschen von Befehlen vorgestellt. Freunde in Not können sich darauf beziehen

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 abgefragt.

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. Unter diesen 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: Geben Sie den ein MySQL-Datenbank in der Produktionsumgebung für einen bestimmten Zeitraum testen und dann den Parameterwert so anpassen, dass er größer als der Wert von Opened_tables ist, und sicherstellen, dass er unter extremen Bedingungen immer noch etwas größer als Opened_tables ist mit relativ hoher Belastung.

Cache leeren

Das Ausführen des Befehls

mysql > flush tables;

löscht alle aktuell zwischengespeicherten Tabellen.

Das obige ist der detaillierte Inhalt vonBeschreibung der Table_cache-Konfigurationsparameter in MySQL. 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