Heim >Datenbank >MySQL-Tutorial >Was ist eine große Tabelle in MySQL? Was ist eine große Sache? Wie damit umgehen?
Der Inhalt dieses Artikels befasst sich mit der Frage, was eine große Tabelle in MySQL ist. Was ist eine große Sache? Wie damit umgehen? Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.
Unter welchen Umständen kann eine Datenbanktabelle relativ gesehen als „große Tabelle“ bezeichnet werden?
Wenn die Daten in einer Tabelle mehrere zehn Millionen Zeilen überschreiten, hat dies Auswirkungen auf die Datenbank
Wenn die Tabellendatendatei ist riesig, die Tabellendaten Die Datei überschreitet 10 GB (der Datenwert ist relativ zur Hardware)
Langsame Abfrage: Es ist schwierig, innerhalb eines bestimmten Zeitraums zu filtern. Extrahieren Sie die erforderlichen Daten
(z. B. Anzeigereihenfolge, wenige Quellen, geringe Differenzierung, große Menge an Festplatten-E/A, verringerte Festplatteneffizienz, langsame Abfrage)
1. Die Erstellung eines Indexes dauert sehr lange
Risiko:
Bei der Indexerstellung in MYSQL-Version< 5.5 wird die Tabelle gesperrt
MYSQL-Version>= 5.5 Obwohl die Tabelle nicht gesperrt wird, führt dies zu einer Master-Slave-Verzögerung
2. Das Ändern der Tabellenstruktur erfordert das Sperren der Tabelle für eine lange Zeit
Risiko:
Es führt zu einer langen Master-Slave-Verzögerung
Beeinträchtigt den normalen Datenbetrieb
Schwierigkeiten:
Auswahl von Primärschlüsseln für Tabellenaufteilungen
Abfrage von partitionsübergreifenden Daten nach Tabellenaufteilung und Statistiken
Vorteile:
Reduzieren Sie die Auswirkungen auf das Front-End- und Back-End-Geschäft
Schwierigkeiten:
Archivierungszeitpunktauswahl
So führen Sie Archivierungsvorgänge durch
Transaktion ist eines der wichtigen Merkmale, die das Datenbanksystem von allen anderen Dateisystemen unterscheidet
Eine Transaktion ist eine Reihe von atomarem SQL Anweisungen. Oder eine unabhängige Arbeitseinheit
Transaktionsanforderungen erfüllen: Atomizität, Konsistenz, Isolation, Haltbarkeit
Atomizität von TransaktionenEine Transaktion muss als kleinste Arbeitseinheit betrachtet werden die nicht getrennt werden können. Alle Vorgänge in der gesamten Transaktion werden entweder erfolgreich übermittelt oder alle schlagen fehl. Bei einer Transaktion ist es unmöglich, nur einen Teil der Vorgänge auszuführen.
Beispiel:
1. Prüfen Sie, ob der Saldo auf dem Finanzkonto mehr als 2.000 Yuan beträgt
2. Ziehen Sie 2.000 Yuan vom Saldo des Finanzkontos ab
3. Addieren Sie zum Aktiven Einzahlungskonto 2000 Yuan
Alle Vorgänge in der gesamten Transaktion werden entweder erfolgreich übermittelt oder alle Vorgänge schlagen fehl und werden zurückgesetzt.
TransaktionskonsistenzKonsistenz bedeutet, dass eine Transaktion die Datenbank von einem Konsistenzstatus in einen anderen konvertiert. Die Integrität der Daten in der Datenbank wird vor Beginn der Transaktion und nach ihrem Ende nicht zerstört.
Isolierung von TransaktionenDie Isolierung erfordert, dass die Änderung von Daten in der Datenbank durch eine Transaktion für andere Transaktionen nicht sichtbar ist, bevor die Übermittlung abgeschlossen ist.
Vier Arten von Ebenen, die im SQL-Standard definiert sind (Isolation von niedrig nach hoch) (Parallelität von hoch nach niedrig)
READ UNCOMMITED
Committed Read (READ COMMITED)
Wiederholbar lesen (REPEATABLE READ)
Serialisierbar (SERIALIZABLE)
Sobald die Transaktion festgeschrieben ist, werden ihre Änderungen für immer gespeichert. In der Datenbank werden die geänderten Daten auch dann gespeichert, wenn das System zu diesem Zeitpunkt abstürzt Die übermittelten Daten gehen nicht verloren.
Transaktionen, deren Ausführung lange dauert und viele Daten verarbeiten
Risiko:
Zu viele Daten sperren, was zu vielen Blockierungen und Sperrzeitüberschreitungen führt
Return Rolling dauert lange
Die Ausführungszeit ist lang und es kann leicht zu Master-Slave-Verzögerungen kommen
Vermeiden Sie die gleichzeitige Verarbeitung zu vieler Daten
Entfernen Sie unnötige SELECT-Vorgänge innerhalb einer Transaktion
Das obige ist der detaillierte Inhalt vonWas ist eine große Tabelle in MySQL? Was ist eine große Sache? Wie damit umgehen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!