Vertikales und horizontales Aufteilen von MySQL-Tabellen

Vertikales und horizontales Aufteilen von MySQL-Tabellen

Vertikale Teilung

Vertikale Aufteilung bezieht sich auf die Aufteilung von Datentabellenspalten, d. h. die Aufteilung einer Tabelle mit vielen Spalten in mehrere Tabellen

  1. Normalerweise führen wir die vertikale Teilung nach den folgenden Prinzipien durch:
  2. Platzieren Sie selten verwendete Felder in einer separaten Tabelle.
  3. Große Felder wie Text und Blob ausgliedern und in den Anhang stellen;

Spalten, die häufig in Kombination abgefragt werden, werden in einer Tabelle zusammengefasst;

Die vertikale Aufteilung sollte zu Beginn des Datentabellenentwurfs durchgeführt werden. Anschließend kann der Verbindungsschlüssel bei Abfragen verwendet werden.

Horizontale Teilung

Horizontales Aufteilen bezieht sich auf das Aufteilen von Datentabellenzeilen. Wenn die Anzahl der Zeilen in einer Tabelle 2 Millionen überschreitet, wird die Verarbeitung langsam. Zu diesem Zeitpunkt können die Daten einer Tabelle zur Speicherung in mehrere Tabellen aufgeteilt werden.

Einige Tipps zur horizontalen Teilung

1. Split-Prinzip

Normalerweise verwenden wir die Modulmethode, um die Tabelle aufzuteilen. Beispielsweise wird eine Benutzertabelle mit 4 Millionen Benutzern in 4 Tabellen aufgeteilt, um die Abfrageeffizienz zu verbessern.

Benutzer1, Benutzer2, Benutzer3, Benutzer4

Mithilfe der ID-Modulmethode werden die Daten auf vier Tabellen verteilt. Id%4+1 = [1,2,3,4]

Dann werden Abfrage, Aktualisierung und Löschen ebenfalls mit der Modulmethode abgefragt

$_GET['id'] = 17,
17%4 + 1 = 2, 
$tableName = 'Benutzer'.'2'
Wählen Sie * aus Benutzern2, wobei ID = 17 ist;

Beim Einfügen wird auch eine temporäre Tabelle uid_temp benötigt, um eine automatisch inkrementierende ID bereitzustellen. Der einzige Zweck dieser Tabelle besteht darin, eine automatisch inkrementierende ID bereitzustellen.

in uid_temp-Werte einfügen (null);

Nachdem die selbstinkrementierende ID abgerufen wurde, wird die Untertabelle mithilfe der Modulo-Methode eingefügt.

Beachten Sie, dass die Spalten und Typen der Felder in der Tabelle nach der horizontalen Teilung dieselben sein sollten wie in der Originaltabelle. Denken Sie jedoch daran, die automatische Inkrementierung auto_increment zu entfernen.

Zusätzlich

  • Einige Geschäftslogiken können auch nach Feldern wie Region und Jahr aufgeteilt werden.
  • Die geteilte Tabelle kann nur die effizienten Abfrageanforderungen einiger Abfragen erfüllen. Derzeit müssen wir das Benutzerabfrageverhalten über die Schnittstelle bei der Produktplanung einschränken. Wenn wir beispielsweise Archive nach Jahren aufteilen möchten, zwingt das Seitendesign die Benutzer, ein Jahr auszuwählen, bevor sie suchen können.
  • Wenn Sie Analysen oder Statistiken durchführen, spielt es keine Rolle, ob Sie etwas länger warten, da dies Ihre eigenen Anforderungen sind und die Parallelität sehr gering ist. Zu diesem Zeitpunkt können Sie Union verwenden, um alle Tabellen zu einer Ansicht für die Abfrage zu kombinieren, und dann erneut abfragen.

Erstellen Sie Ansichtsbenutzer als Auswahl aus Benutzer1 Union, Auswahl aus Benutzer2 Union.........

Oben sind die Details zur vertikalen und horizontalen Aufteilung von MySQL-Tabellen aufgeführt. Weitere Informationen zur Aufteilung von MySQL-Tabellen finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • MySQL-String-Splitting-Beispiel (String-Extraktion ohne Trennzeichen)
  • MySQL-String-Aufteilungsvorgang (String-Abfangen mit Trennzeichen)
  • Beispiel-Tutorial zum Zusammenführen und Teilen von MySQL nach angegebenen Zeichen
  • Anwendungsbeispiele für MySQL-Interception- und Split-String-Funktionen
  • Zusammenfassung der Datenaufteilung in MySQL-Datenbanken: Unterbibliothek und Untertabelle
  • Allgemeine MySQL-Datenaufteilungsmethoden
  • Verwenden Sie Perl, um die Datentabelle (MySQL) aufzuteilen und die Dateninstanz zu migrieren
  • mysql teilt eine Datenzeile basierend auf Kommas in mehrere Zeilen auf

<<:  Natives JS-objektorientiertes Tippspiel

>>:  So konfigurieren Sie die Portweiterleitung für Docker unter CentOS 7, damit sie mit der Firewall kompatibel ist

Artikel empfehlen

Linux: Fünf-Schritte-Kernel-Build-Baum

Inhaltsverzeichnis 0. Der mit dem System geliefer...

Mehrere Methoden zur Lösung des Problems des MySQL-Fuzzy-Abfrageindexfehlers

Wenn wir das Platzhalterzeichen „like %“ verwende...

Implementierungsmethode des Nginx+Tomcat-Lastausgleichsclusters

Die experimentelle Umgebung ist wie folgt Hier mü...

Analysieren Sie das Arbeitsprinzip von Tomcat

SpringBoot ist wie eine riesige Python, die sich ...

So sammeln Sie Nginx-Protokolle mit Filebeat

Mithilfe von Nginx-Protokollen lassen sich Benutz...

Gründe und Lösungen für das Versagen des React-Ereignisdrosselungseffekts

Inhaltsverzeichnis Das Problem hierbei ist: Lösun...

htm-Anfängerhinweise (unbedingt für Anfänger lesen)

1. Was ist HTML HTML (HyperText Markup Language):...

Beschreibung der Nginx-Zugriffsprotokoll- und Fehlerprotokollparameter

veranschaulichen: Es gibt zwei Haupttypen von Ngi...

Beispiel für eine adaptive CSS-Bildschirmgrößenimplementierung

Um eine CSS-Bildschirmgrößenanpassung zu erreiche...

Detaillierte Installation und Konfiguration von hadoop2.7.2 unter Ubuntu15.10

Im Internet und in vielen Büchern gibt es viele T...

Der Excel-Export schlägt in der Docker-Umgebung immer fehl

Der Excel-Export schlägt in der Docker-Umgebung i...