Zusammenfassung des Wissens über die MySQL-Datenbank
Am 8. Juni 2017 war das Wetter bewölkt. Die Stimmung ist klar.
Ich habe zwei Nächte hintereinander von einem Klassenkameraden geträumt, den ich schon lange nicht mehr kontaktiert hatte um morgens zu arbeiten. Das Mädchen ist derzeit auf Geschäftsreise in Guizhou, einem Ort mit wunderschöner Landschaft. Ich sagte: „Sie führen jetzt ein sehr erfolgreiches Leben.“ Das Mädchen sagte: „Das liegt daran, dass du meine nicht feuchtigkeitsspendende Seite noch nicht gesehen hast.“ Tatsächlich zeigen wir im Leben anderen immer unsere positive Seite und „verkleiden“ unsere unterdrückte Seite.
Gestern stellte mir ein Blogger auf dem Blog eine Frage und nannte mich sogar einen „großen Gott“. Gott“, also musste ich meine Anstrengungen verdoppeln und mich dem Ziel „Größe“ nähern.
Die vom Blogger gestellte Frage bezieht sich auf die MySQL-Datenbank, die die Daten-Engine und die Reparatur und Optimierung der Datentabelle-Anweisungen umfasst Nie zuvor in Betracht gezogen, nie verwendet. Also habe ich nach Informationen gesucht, um es zu verstehen, und jetzt fasse ich die Informationen, die ich gefunden habe, wie folgt zusammen.
1. MySQL-Datenbankspeicher-Engine
Konzept:
Die Speicher-Engine ist eigentlich die Art und Weise, wie Daten gespeichert werden, wie die gespeicherten Daten indiziert werden und wie Methoden zur Aktualisierung, Abfrage von Daten und andere technische Implementierungen. Daten werden in MySQL mithilfe verschiedener Technologien in Dateien (oder im Speicher) gespeichert, die jeweils unterschiedliche Speichermechanismen, Indizierungstechniken und Sperrebenen verwenden und letztendlich eine breite Palette unterschiedlicher Funktionen und Fähigkeiten bieten. In MySQL werden diese verschiedenen Technologien und unterstützenden zugehörigen Funktionen als Speicher-Engines bezeichnet.
(1) innoDB-Speicher-Engine
①Die MySQL-Tabelle der innodb-Speicher-Engine bietet Transaktions-, Rollback- und Systemabsturzreparaturfunktionen sowie Transaktionssicherheit der Parallelitätskontrolle mehrerer Versionen.
②innodb unterstützt Auto-Inkrement-Spalten (auto_increment). Wenn sie leer sind, wie kann sie automatisch beginnen, ausgehend vom vorhandenen Wert zu wachsen? , ist er größer als der aktuelle Wert. Wenn er immer noch groß ist, wird dieser Wert gespeichert.
③Die innodb-Speicher-Engine unterstützt Fremdschlüssel. Die Tabelle, in der sich der Fremdschlüssel befindet, wird als untergeordnete Tabelle (oder Slave-Tabelle) bezeichnet, und die Tabelle, von der er abhängt, wird als übergeordnete Tabelle (oder Haupttabelle) bezeichnet.
④Das Wichtigste an der Innodb-Speicher-Engine ist, dass sie Transaktionen und transaktionsbezogene Funktionen unterstützt.
⑤innodb-Speicher-Engine unterstützt MVCC-Sperren auf Zeilenebene.
⑥Innodb-Speicher-Engine-Index verwendet B+Tree.
(2) MyISAM-Speicher-Engine
1) MyISAM Diese Speicher-Engine unterstützt keine Transaktionen, unterstützt keine Sperren auf Zeilenebene und unterstützt nur gleichzeitig eingefügte Tabellensperren Hochlastauswahl .
2) Die MyISAM-Typtabelle unterstützt drei verschiedene Speicherstrukturen: statisch, dynamisch und komprimiert.
①Statischer Typ: bedeutet, dass die Größe der definierten Tabellenspalte fest ist (d. h. sie enthält keine Datentypen variabler Länge wie xblob, xtext, varchar usw.). ), sodass MySQL automatisch das statische Myisam-Format verwendet.
Die Leistung von Tabellen, die statische Formate verwenden, ist relativ hoch, da der Overhead, der zum Speichern von Daten in einem vorgegebenen Format während der Wartung und beim Zugriff erforderlich ist, sehr gering ist. Diese hohe Leistung wird jedoch im Austausch gegen Platz erhalten, da sie bei der Definition festgelegt ist. Unabhängig davon, wie groß der Wert in der Spalte ist, hat der Maximalwert Vorrang und nimmt den gesamten Platz ein.
②Dynamischer Typ: Wenn die Spalte (auch wenn nur eine Spalte vorhanden ist) als dynamisch definiert ist (xblob, xtext, varchar und andere Datentypen), verwendet myisam automatisch die dynamischer Typ.
Obwohl dynamische Tabellen weniger Platz beanspruchen als statische Tabellen, verringern sie die Leistung, da bei einer Änderung des Inhalts eines Felds dessen Position wahrscheinlich verschoben werden muss, was zur Erzeugung von Fragmenten führt. Wenn sich die Daten stärker ändern, nimmt die Fragmentierung zu und die Datenzugriffsleistung nimmt entsprechend ab.
Es gibt zwei Lösungen, um die Datenzugänglichkeit aufgrund der Fragmentierung zu verringern:
a. Verwenden Sie so viele statische Datentypen wie möglich.
b. Verwenden Sie häufig die Anweisung „Tabelle optimieren“, die die Tabelle defragmentiert und durch Tabellenaktualisierungen und -löschungen verlorenen Speicherplatz wiederherstellt.
Wenn die Speicher-Engine die Optimierungstabelle nicht unterstützt, können Sie die Daten sichern und neu laden, was ebenfalls die Fragmentierung reduzieren kann.
③Komprimierter Typ: Wenn in dieser Datenbank eine Tabelle erstellt wird, die während des gesamten Lebenszyklus schreibgeschützt ist, wird in diesem Fall die komprimierte Tabelle von myisam verwendet, um den Speicherplatzverbrauch zu reduzieren.
3) MyISAM verwendet ebenfalls den B+Tree-Index, unterscheidet sich jedoch in der spezifischen Implementierung geringfügig von Innodb.
(3) MEMORY-Speicher-Engine
①Die Speicher-Engine unterscheidet sich ein wenig von einigen früheren Speicher-Engines. Sie verwendet im Speicher gespeicherte Daten, um Tabellen zu erstellen, und alle Daten werden auch im Speicher gespeichert.
②Jede Tabelle, die auf der Speicher-Engine basiert, entspricht tatsächlich einer Festplattendatei. Der Dateiname und der Tabellenname der Datei sind gleich und der Typ ist .frm. Diese Datei speichert nur die Struktur der Tabelle, und ihre Datendateien werden im Speicher gespeichert, was eine schnelle Datenverarbeitung fördert und die Verarbeitungsfähigkeiten der gesamten Tabelle verbessert.
③Die Speicher-Engine verwendet standardmäßig einen Hash-Index (HASH), der schneller ist als die Verwendung von B+Tree. Wenn Leser B-Tree verwenden möchten, können sie beim Erstellen darauf verweisen.
④Speicher-Engine-Dateidaten werden im Speicher gespeichert. Wenn im mysqld-Prozess eine Ausnahme auftritt, verschwinden diese Daten, wenn die Maschine neu gestartet oder heruntergefahren wird. Daher ist der Lebenszyklus von Tabellen in der Speicher-Engine sehr kurz und wird im Allgemeinen nur einmal verwendet.
(4) BlackHole-Speicher-Engine (Black-Hole-Engine)
unterstützt Transaktionen und unterstützt MVCC-Sperren auf Zeilenebene. Es wird hauptsächlich für die Protokollierung oder synchronisierte Archivierung verwendet Zweck, sonst ist es nicht für den Einsatz geeignet!
2. Tabellen unter MySQL optimieren und reparieren
Beim langfristigen Einsatz von MySQL kann durch die Reparatur der Tabelle der belegte Speicherplatz reduziert und gesichert werden erleichtert.
REPARATURTABELLE „Tabellenname“ Tabelle reparieren. TABELLE „Tabellenname“ OPTIMIEREN. Tabelle optimieren.
REPARATURTABELLE – wird zum Reparieren beschädigter Tabellen verwendet.
TABELLE OPTIMIEREN – Tabelle optimieren, um ungenutzten Datenbankspeicherplatz zurückzugewinnen. Wenn die Datenzeilen in der Tabelle gelöscht werden, wird der belegte Speicherplatz nicht sofort wiederhergestellt. Nach Verwendung des Befehls OPTIMIZE TABLE wird der Speicherplatz wiederhergestellt und die Datenzeilen auf der Festplatte werden neu angeordnet.
Hinweis: Es befindet sich auf der Festplatte, nicht in der Datenbank.
In den meisten Fällen ist es nicht erforderlich, OPTIMIZE TABLE auszuführen. Sie müssen nur regelmäßig (einmal pro Woche oder einmal im Monat) einen Datentabellenoptimierungsvorgang durchführen, nachdem Sie Datenzeilen in Stapeln gelöscht haben, und nur ausführen es auf diesen spezifischen Tabellen.
Das obige ist der detaillierte Inhalt vonZusammenfassung des Wissens über die MySQL-Datenbank. 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

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.

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 Hauptaufgabe von MySQL in Webanwendungen besteht darin, Daten zu speichern und zu verwalten. 1.Mysql verarbeitet effizient Benutzerinformationen, Produktkataloge, Transaktionsunterlagen und andere Daten. 2. Durch die SQL -Abfrage können Entwickler Informationen aus der Datenbank extrahieren, um dynamische Inhalte zu generieren. 3.Mysql arbeitet basierend auf dem Client-Server-Modell, um eine akzeptable Abfragegeschwindigkeit sicherzustellen.

Der Schlüssel zur eleganten Installation von MySQL liegt darin, das offizielle MySQL -Repository hinzuzufügen. Die spezifischen Schritte sind wie folgt: Laden Sie den offiziellen GPG -Schlüssel von MySQL herunter, um Phishing -Angriffe zu verhindern. Add MySQL repository file: rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm Update yum repository cache: yum update installation MySQL: yum install mysql-server startup MySQL service: systemctl start mysqld set up booting

Laravel ist ein PHP -Framework zum einfachen Aufbau von Webanwendungen. Es bietet eine Reihe leistungsstarker Funktionen, darunter: Installation: Installieren Sie die Laravel CLI weltweit mit Komponisten und erstellen Sie Anwendungen im Projektverzeichnis. Routing: Definieren Sie die Beziehung zwischen der URL und dem Handler in Routen/Web.php. Ansicht: Erstellen Sie eine Ansicht in Ressourcen/Ansichten, um die Benutzeroberfläche der Anwendung zu rendern. Datenbankintegration: Bietet eine Out-of-the-Box-Integration in Datenbanken wie MySQL und verwendet Migration, um Tabellen zu erstellen und zu ändern. Modell und Controller: Das Modell repräsentiert die Datenbankentität und die Controller -Prozesse HTTP -Anforderungen.
