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

Probleme mit Join-Abfragen und Unterabfragen in MySQL

Inhaltsverzeichnis Grundlegende Syntax für Multi-...

HTML erstellt eine einfache und schöne Anmeldeseite

Schauen wir uns das zunächst einmal an. HTML Quel...

Tutorial zur Remote-Verbindung mit einer MySQL-Datenbank unter Linux

Vorwort Ich bin kürzlich bei der Arbeit auf diese...

Eine vollständige Aufzeichnung eines Mysql-Deadlock-Fehlerbehebungsprozesses

Vorwort Die Datenbank-Deadlocks, die ich zuvor er...

So stellen Sie MySQL- und Redis-Dienste mit Docker bereit

Inhaltsverzeichnis So stellen Sie den MySQL-Diens...

Tutorial zur Installation und Konfiguration von MySQL 5.7

In diesem Artikel finden Sie das Tutorial zur Ins...

Grafisches Tutorial zur Installation von MySQL 5.6.35 unter Windows 10 64-Bit

1. Laden Sie MySQL Community Server 5.6.35 herunt...

So ändern Sie den MySQL-Zeichensatz utf8 in utf8mb4

Wenn für MySQL 5.5 der Zeichensatz nicht festgele...

Beispielcode für MySQL-Datensicherung und -wiederherstellung

1. Datensicherung 1. Verwenden Sie den Befehl mys...