Detaillierte Übersicht über MySQL-Statistiken
Dieser Artikel bietet einen umfassenden Überblick über die relevanten Wissenspunkte der statistischen MySQL-Informationen, indem er das Konzept der statistischen Informationen und die Vorteile der statistischen MYSQL-Informationen vorstellt. Ich hoffe, er kann Freunden in Not helfen.
MySQL durchläuft bei der Ausführung von SQL den Prozess der SQL-Analyse und Abfrageoptimierung. Der Parser zerlegt SQL in Datenstrukturen und übergibt sie an nachfolgende Schritte und erstellt einen Ausführungsplan. Der Abfrageoptimierer bestimmt, wie SQL ausgeführt wird, und zwar anhand der Statistiken der Datenbank. Im Folgenden stellen wir den relevanten Inhalt der Innodb-Statistiken in MySQL 5.7 vor.
Der MySQL-Statistikspeicher ist in zwei Typen unterteilt: nicht-persistente und persistente Statistiken.
1. Nicht-persistente statistische Informationen
Nicht-persistente statistische Informationen werden im Speicher gespeichert. Wenn die Datenbank neu gestartet wird, gehen die statistischen Informationen verloren. Es gibt zwei Möglichkeiten, nicht persistente Statistiken festzulegen:
| ||||||||||||||
2 Parameter der CREATE/ALTER-Tabelle, STATS_PERSISTENT=0 |
1 ANALYZE TABLE ausführen | ||||||||||||||
2 Wenn innodb_stats_on_metadata=ON, führen Sie SHOW TABLE STATUS, SHOW INDEX aus, fragen Sie TABLES unter INFORMATION_SCHEMA, STATISTICS ab | ||||||||||||||
3 Wenn die Funktion --auto-rehash aktiviert ist, melden Sie sich zum ersten Mal mit dem MySQL-Client an
|
||||||||||||||
4 Tabelle Geöffnet | ||||||||||||||
|
innodb_index_stats | |
database_name |
数据库名 |
table_name |
表名 |
index_name |
索引名 |
last_update |
统计信息最后一次更新时间 |
stat_name |
统计信息名 |
stat_value |
统计信息的值 |
sample_size |
采样大小 |
stat_description |
类型说明 |
1 INNODB_STATS_AUTO_RECALC=ON, 10 % der Daten in der Tabelle werden geändert |
2 Fügen Sie einen neuen Index hinzu |
innodb_table_stats | |
database_name | Datenbankname |
Tabellenname | Tabellenname |
last_update | Zeit der letzten Aktualisierung der Statistik |
n_rows | Die Anzahl der Zeilen in der Tabelle |
clustered_index_size | Die Anzahl der Seiten im Clustered-Index |
sum_of_other_index_sizes | Andere Indexseiten Anzahl von |
innodb_index_stats | |
Datenbankname | Datenbankname td> |
Tabellenname | Tabellenname |
Indexname | Indexname |
last_update | Zeitpunkt der letzten Aktualisierung der Statistik |
stat_name | Statistikname | tr>
Statistikwert | |
sample_size | Stichprobengröße |
stat_description | Typbeschreibung td> |
Um innodb_index_stats besser zu verstehen, erstellen Sie eine Testtabelle zur Erläuterung:
CREATE TABLE t1 ( a INT, b INT, c INT, d INT, e INT, f INT, PRIMARY KEY (a, b), KEY i1 (c, d), UNIQUE KEY i2uniq (e, f) ) ENGINE=INNODB;
Schreiben Sie die Daten wie folgt:
Um die statistischen Informationen der t1-Tabelle anzuzeigen, müssen Sie sich auf die Felder stat_name und stat_value konzentrieren
Wenn tat_name=size: stat_value angibt Anzahl der indizierten Seiten
Wenn stat_name=n_leaf_pages: stat_value die Anzahl der Blattknoten darstellt
Wenn stat_name=n_diff_pfxNN: stat_value die Anzahl der eindeutigen Werte im Indexfeld darstellt. Hier ist a Ausführliche Erklärung:
1. n_diff_pfx01 stellt die Zahl nach der ersten Spalte des Index dar. Spalte a von PRIMARY hat beispielsweise nur einen Wert 1, wenn also index_name='PRIMARY' und stat_name='. n_diff_pfx01', stat_value=1.
2. n_diff_pfx02 stellt die Zahl nach der Differenz der ersten beiden Spalten des Index dar. Beispielsweise haben die Spalten e und f von i2uniq 4 Werte, also wenn index_name='i2uniq' und stat_name='n_diff_pfx02 ', stat_value=4.
3. Bei nicht eindeutigen Indizes wird der Primärschlüsselindex nach den ursprünglichen Spalten hinzugefügt, z. B. index_name='i1' und stat_name='n_diff_pfx03', und die Primärschlüsselspalte a wird danach hinzugefügt Die ursprünglichen Indexspalten c und d (Das eindeutige Ergebnis von c, d, a) ist 2.
Das Verständnis der spezifischen Bedeutung von stat_name und stat_value kann uns bei der Fehlersuche helfen, warum beim Ausführen von SQL kein geeigneter Index verwendet wird. Beispielsweise ist der stat_value eines bestimmten Index n_diff_pfxNN viel kleiner als der tatsächliche Wert des Abfrageoptimierers hält den Index für selektiv. Wenn er schlecht ist, kann dies dazu führen, dass der falsche Index verwendet wird.
3. Umgang mit ungenauen statistischen Informationen
Wir haben den Ausführungsplan überprüft und festgestellt, dass nicht der richtige Index verwendet wurde. Wenn dies auf einen großen Unterschied in den statistischen Informationen in innodb_index_stats zurückzuführen ist, kann dies der Fall sein wie folgt gehandhabt werden:
1. Bitte beachten Sie, dass Lesesperren während der Ausführung hinzugefügt werden:
ANALYZETABLE TABLE_NAME;
2 Die statistischen Informationen sind nach der Aktualisierung immer noch ungenau. Erwägen Sie das Hinzufügen weiterer Daten. Die Datenseite der Tabellenstichprobe kann auf zwei Arten geändert werden:
a) Globale Variable INNODB_STATS_PERSISTENT_SAMPLE_PAGES, der Standardwert ist 20;
b) A Eine einzelne Tabelle kann die Stichprobe der Tabelle angeben:
ALTER TABLE TABLE_NAME STATS_SAMPLE_PAGES=40;
Nach dem Test beträgt der Maximalwert von STATS_SAMPLE_PAGES hier 65535. Wenn er überschritten wird, wird ein Fehler gemeldet .
Derzeit bietet MySQL keine Histogrammfunktion. In einigen Fällen (z. B. bei ungleichmäßiger Datenverteilung) führt die einfache Aktualisierung statistischer Informationen möglicherweise nicht zu einem genauen Ausführungsplan. Die neue Version 8.0 wird eine Histogrammfunktion hinzufügen. Freuen wir uns darauf, dass MySQL immer leistungsfähiger wird!
Verwandte Empfehlungen:
Beispielanalyse: statistisches Informationsmanagement, Spring-Annotation-Entwicklung und EasyUI
Das obige ist der detaillierte Inhalt vonDetaillierte Übersicht über MySQL-Statistiken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Sie können PhpMyAdmin in den folgenden Schritten öffnen: 1. Melden Sie sich beim Website -Bedienfeld an; 2. Finden und klicken Sie auf das Symbol phpmyadmin. 3. Geben Sie MySQL -Anmeldeinformationen ein; 4. Klicken Sie auf "Login".

MySQL ist ein Open Source Relational Database Management -System, das hauptsächlich zum schnellen und zuverlässigen Speicher und Abrufen von Daten verwendet wird. Sein Arbeitsprinzip umfasst Kundenanfragen, Abfragebedingungen, Ausführung von Abfragen und Rückgabergebnissen. Beispiele für die Nutzung sind das Erstellen von Tabellen, das Einsetzen und Abfragen von Daten sowie erweiterte Funktionen wie Join -Operationen. Häufige Fehler umfassen SQL -Syntax, Datentypen und Berechtigungen sowie Optimierungsvorschläge umfassen die Verwendung von Indizes, optimierte Abfragen und die Partitionierung von Tabellen.

Redis verwendet eine einzelne Gewindearchitektur, um hohe Leistung, Einfachheit und Konsistenz zu bieten. Es wird E/A-Multiplexing, Ereignisschleifen, nicht blockierende E/A und gemeinsame Speicher verwendet, um die Parallelität zu verbessern, jedoch mit Einschränkungen von Gleichzeitbeschränkungen, einem einzelnen Ausfallpunkt und ungeeigneter Schreib-intensiver Workloads.

Die Position von MySQL in Datenbanken und Programmierung ist sehr wichtig. Es handelt sich um ein Open -Source -Verwaltungssystem für relationale Datenbankverwaltung, das in verschiedenen Anwendungsszenarien häufig verwendet wird. 1) MySQL bietet effiziente Datenspeicher-, Organisations- und Abruffunktionen und unterstützt Systeme für Web-, Mobil- und Unternehmensebene. 2) Es verwendet eine Client-Server-Architektur, unterstützt mehrere Speichermotoren und Indexoptimierung. 3) Zu den grundlegenden Verwendungen gehören das Erstellen von Tabellen und das Einfügen von Daten, und erweiterte Verwendungen beinhalten Multi-Table-Verknüpfungen und komplexe Abfragen. 4) Häufig gestellte Fragen wie SQL -Syntaxfehler und Leistungsprobleme können durch den Befehl erklären und langsam abfragen. 5) Die Leistungsoptimierungsmethoden umfassen die rationale Verwendung von Indizes, eine optimierte Abfrage und die Verwendung von Caches. Zu den Best Practices gehört die Verwendung von Transaktionen und vorbereiteten Staten

MySQL wird für seine Leistung, Zuverlässigkeit, Benutzerfreundlichkeit und Unterstützung der Gemeinschaft ausgewählt. 1.MYSQL bietet effiziente Datenspeicher- und Abruffunktionen, die mehrere Datentypen und erweiterte Abfragevorgänge unterstützen. 2. Übernehmen Sie die Architektur der Client-Server und mehrere Speichermotoren, um die Transaktion und die Abfrageoptimierung zu unterstützen. 3. Einfach zu bedienend unterstützt eine Vielzahl von Betriebssystemen und Programmiersprachen. V.

Apache verbindet eine Verbindung zu einer Datenbank erfordert die folgenden Schritte: Installieren Sie den Datenbanktreiber. Konfigurieren Sie die Datei web.xml, um einen Verbindungspool zu erstellen. Erstellen Sie eine JDBC -Datenquelle und geben Sie die Verbindungseinstellungen an. Verwenden Sie die JDBC -API, um über den Java -Code auf die Datenbank zuzugreifen, einschließlich Verbindungen, Erstellen von Anweisungen, Bindungsparametern, Ausführung von Abfragen oder Aktualisierungen und Verarbeitungsergebnissen.

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

Die Installation von MySQL auf CentOS umfasst die folgenden Schritte: Hinzufügen der entsprechenden MySQL Yum -Quelle. Führen Sie den Befehl mySQL-server aus, um den MySQL-Server zu installieren. Verwenden Sie den Befehl mySQL_SECURE_INSTALLATION, um Sicherheitseinstellungen vorzunehmen, z. B. das Festlegen des Stammbenutzerkennworts. Passen Sie die MySQL -Konfigurationsdatei nach Bedarf an. Tune MySQL -Parameter und optimieren Sie Datenbanken für die Leistung.
