Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was ist eine große Tabelle in MySQL? Was ist eine große Sache? Wie damit umgehen?

不言
Freigeben: 2018-09-17 17:35:55
Original
4070 Leute haben es durchsucht

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.

Vorwort

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)

Auswirkungen großer Tabellen

Auswirkungen großer Tabellen auf Abfragen

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)

Das Auswirkung großer Tabellen auf DDL-Vorgänge

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

Wie man damit umgeht Große Tabellen in der Datenbank

1. Teilen Sie eine große Tabelle in mehrere kleine Tabellen auf

Schwierigkeiten:

Auswahl von Primärschlüsseln für Tabellenaufteilungen
Abfrage von partitionsübergreifenden Daten nach Tabellenaufteilung und Statistiken

2. Archivierung historischer Daten großer Tabellen

Vorteile:

Reduzieren Sie die Auswirkungen auf das Front-End- und Back-End-Geschäft

Schwierigkeiten:

Archivierungszeitpunktauswahl
So führen Sie Archivierungsvorgänge durch

Was ist eine Transaktion?

  • 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 Transaktionen

Eine 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.

Transaktionskonsistenz

Konsistenz 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 Transaktionen

Die 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)

Haltbarkeit der Transaktion

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.

Was ist eine große Sache?

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

Wie gehe ich mit großen Transaktionen um?

  • 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!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!