Heim >Datenbank >MySQL-Tutorial >So verwenden Sie table_cache-Konfigurationsparameter, um die MySQL-Leistung zu optimieren
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!