


Wie kann ich Datensatzänderungen in MySQL mithilfe von Verlaufstabellen und Triggern verfolgen?
Verfolgen von Datensatzänderungen in MySQL mithilfe von Verlaufstabellen und Triggern
MySQL bietet mehrere Optionen zum Verfolgen von Änderungen an Datensätzen in einer Datenbank. Ein effektiver Ansatz besteht darin, für jede Zieldatentabelle eine Verlaufstabelle zu erstellen. In dieser Verlaufstabelle werden alle Einfüge-, Aktualisierungs- und Löschvorgänge gespeichert, die für jede Zeile in der Originaltabelle ausgeführt werden.
Erstellen der Verlaufstabelle
Um eine Verlaufstabelle zu erstellen, Sie können die folgende SQL-Abfrage verwenden und dabei „MyDB.data“ durch den Namen der Datentabelle, die Sie verfolgen möchten, und „primary_key_column“ durch den Namen ihres Primärschlüssels ersetzen Spalte:
CREATE TABLE MyDB.data_history LIKE MyDB.data; ALTER TABLE MyDB.data_history MODIFY COLUMN primary_key_column int(11) NOT NULL, DROP PRIMARY KEY, ENGINE = MyISAM, ADD action VARCHAR(8) DEFAULT 'insert' FIRST, ADD revision INT(6) NOT NULL AUTO_INCREMENT AFTER action, ADD dt_datetime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP AFTER revision, ADD PRIMARY KEY (primary_key_column, revision);
Trigger zum Erfassen von Änderungen verwenden
Nachdem Sie die Verlaufstabelle erstellt haben, können Sie Trigger einrichten, um Änderungen an der ursprünglichen Datentabelle automatisch zu protokollieren. Für Einfüge-, Aktualisierungs- und Löschvorgänge können die folgenden Auslöser verwendet werden:
CREATE TRIGGER MyDB.data__ai AFTER INSERT ON MyDB.data FOR EACH ROW INSERT INTO MyDB.data_history SELECT 'insert', NULL, NOW(), d.* FROM MyDB.data AS d WHERE d.primary_key_column = NEW.primary_key_column; CREATE TRIGGER MyDB.data__au AFTER UPDATE ON MyDB.data FOR EACH ROW INSERT INTO MyDB.data_history SELECT 'update', NULL, NOW(), d.* FROM MyDB.data AS d WHERE d.primary_key_column = NEW.primary_key_column; CREATE TRIGGER MyDB.data__bd BEFORE DELETE ON MyDB.data FOR EACH ROW INSERT INTO MyDB.data_history SELECT 'delete', NULL, NOW(), d.* FROM MyDB.data AS d WHERE d.primary_key_column = OLD.primary_key_column;
Beispiel-Verlaufstabelle
Die Verlaufstabelle erfasst alle an der vorgenommenen Änderungen Originaldatentabelle. Bei einer gegebenen Datentabelle mit einer „ID“-Spalte als Primärschlüssel könnten beispielsweise die folgenden Einträge in der Verlaufstabelle generiert werden:
ID revision action data columns.. 1 1 'insert' .... initial entry for row where ID = 1 1 2 'update' .... changes made to row where ID = 1 2 1 'insert' .... initial entry, ID = 2 3 1 'insert' .... initial entry, ID = 3 1 3 'update' .... more changes made to row where ID = 1 3 2 'update' .... changes made to row where ID = 3 2 2 'delete' .... deletion of row where ID = 2
Änderungen anzeigen
Um die an bestimmten Spalten vorgenommenen Änderungen anzuzeigen, können Sie die Verlaufstabelle in den Primärschlüssel- und Revisionsspalten mit sich selbst verknüpfen und entsprechende SQL-Anweisungen verwenden, um vorherige und aktuelle Werte zu vergleichen.
Das obige ist der detaillierte Inhalt vonWie kann ich Datensatzänderungen in MySQL mithilfe von Verlaufstabellen und Triggern verfolgen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

In der Datenbankoptimierung sollten Indexierungsstrategien gemäß Abfrageanforderungen ausgewählt werden: 1. Wenn die Abfrage mehrere Spalten beinhaltet und die Reihenfolge der Bedingungen festgelegt ist, verwenden Sie zusammengesetzte Indizes. 2. Wenn die Abfrage mehrere Spalten beinhaltet, aber die Reihenfolge der Bedingungen nicht festgelegt ist, verwenden Sie mehrere einspaltige Indizes. Zusammengesetzte Indizes eignen sich zur Optimierung von Multi-Säulen-Abfragen, während Einspaltindizes für Einspalten-Abfragen geeignet sind.

Um die MySQL -Abfrage zu optimieren, müssen SlowQuerylog und Performance_Schema verwendet werden: 1. Aktivieren Sie SlowQuerylog und setzen Sie Schwellenwerte, um langsame Abfragen aufzuzeichnen; 2. Verwenden Sie Performance_Schema, um die Details zur Ausführung von Abfragen zu analysieren, Leistungs Engpässe zu finden und zu optimieren.

MySQL und SQL sind wesentliche Fähigkeiten für Entwickler. 1.MYSQL ist ein Open -Source -Relational Database Management -System, und SQL ist die Standardsprache, die zum Verwalten und Betrieb von Datenbanken verwendet wird. 2.MYSQL unterstützt mehrere Speichermotoren durch effiziente Datenspeicher- und Abruffunktionen, und SQL vervollständigt komplexe Datenoperationen durch einfache Aussagen. 3. Beispiele für die Nutzung sind grundlegende Abfragen und fortgeschrittene Abfragen wie Filterung und Sortierung nach Zustand. 4. Häufige Fehler umfassen Syntaxfehler und Leistungsprobleme, die durch Überprüfung von SQL -Anweisungen und Verwendung von Erklärungsbefehlen optimiert werden können. 5. Leistungsoptimierungstechniken umfassen die Verwendung von Indizes, die Vermeidung vollständiger Tabellenscanning, Optimierung von Join -Operationen und Verbesserung der Code -Lesbarkeit.

MySQL Asynchronous Master-Slave-Replikation ermöglicht die Datensynchronisation durch Binlog, die die Leseleistung und die hohe Verfügbarkeit verbessert. 1) Der Master -Server -Datensatz ändert sich am Binlog; 2) Der Slave -Server liest Binlog über E/A -Threads; 3) Der Server -SQL -Thread wendet BinLog an, um Daten zu synchronisieren.

MySQL ist ein Open Source Relational Database Management System. 1) Datenbank und Tabellen erstellen: Verwenden Sie die Befehle erstellte und creatEtable. 2) Grundlegende Vorgänge: Einfügen, aktualisieren, löschen und auswählen. 3) Fortgeschrittene Operationen: Join-, Unterabfrage- und Transaktionsverarbeitung. 4) Debugging -Fähigkeiten: Syntax, Datentyp und Berechtigungen überprüfen. 5) Optimierungsvorschläge: Verwenden Sie Indizes, vermeiden Sie ausgewählt* und verwenden Sie Transaktionen.

Die Installation und die grundlegenden Vorgänge von MySQL umfassen: 1. MySQL herunterladen und installieren, das Stammbenutzerkennwort festlegen. 2. Verwenden Sie SQL -Befehle, um Datenbanken und Tabellen zu erstellen, wie z. 3. Ausführen von CRUD -Operationen, verwenden Sie Einfügen, auswählen, aktualisieren, Befehle löschen; 4. Erstellen Sie Indizes und gespeicherte Verfahren, um die Leistung zu optimieren und komplexe Logik zu implementieren. Mit diesen Schritten können Sie MySQL -Datenbanken von Grund auf neu erstellen und verwalten.

InnoDbbufferpool verbessert die Leistung von MySQL -Datenbanken durch das Laden von Daten und Indexseiten in den Speicher. 1) Die Datenseite wird in das Bufferpool geladen, um die Festplatten -E/A zu reduzieren. 2) Schmutzige Seiten sind regelmäßig markiert und auf der Festplatte aktualisiert. 3) LRU -Algorithmusverwaltungsdatenseite Eliminierung. 4) Der Lese-Out-Mechanismus lädt die möglichen Datenseiten im Voraus.

MySQL ist für Anfänger geeignet, da es einfach zu installieren, leistungsfähig und einfach zu verwalten ist. 1. Einfache Installation und Konfiguration, geeignet für eine Vielzahl von Betriebssystemen. 2. Unterstützung grundlegender Vorgänge wie Erstellen von Datenbanken und Tabellen, Einfügen, Abfragen, Aktualisieren und Löschen von Daten. 3. Bereitstellung fortgeschrittener Funktionen wie Join Operations und Unterabfragen. 4. Die Leistung kann durch Indexierung, Abfrageoptimierung und Tabellenpartitionierung verbessert werden. 5. Backup-, Wiederherstellungs- und Sicherheitsmaßnahmen unterstützen, um die Datensicherheit und -konsistenz zu gewährleisten.


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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)