Heim Datenbank MySQL-Tutorial Zusammenfassung des Wissens über die MySQL-Datenbank

Zusammenfassung des Wissens über die MySQL-Datenbank

Jun 26, 2017 am 09:12 AM
mysql um 总结 数据库 知识

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!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

MySQL: Eine Einführung in die beliebteste Datenbank der Welt MySQL: Eine Einführung in die beliebteste Datenbank der Welt Apr 12, 2025 am 12:18 AM

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.

Mysqls Platz: Datenbanken und Programmierung Mysqls Platz: Datenbanken und Programmierung Apr 13, 2025 am 12:18 AM

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

Warum MySQL verwenden? Vorteile und Vorteile Warum MySQL verwenden? Vorteile und Vorteile Apr 12, 2025 am 12:17 AM

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.

So stellen Sie eine Verbindung zur Datenbank von Apache her So stellen Sie eine Verbindung zur Datenbank von Apache her Apr 13, 2025 pm 01:03 PM

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.

So starten Sie MySQL von Docker So starten Sie MySQL von Docker Apr 15, 2025 pm 12:09 PM

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

MySQLs Rolle: Datenbanken in Webanwendungen MySQLs Rolle: Datenbanken in Webanwendungen Apr 17, 2025 am 12:23 AM

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.

So installieren Sie MySQL in CentOS7 So installieren Sie MySQL in CentOS7 Apr 14, 2025 pm 08:30 PM

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

Beispiel für Laravel -Einführung Beispiel für Laravel -Einführung Apr 18, 2025 pm 12:45 PM

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.

See all articles