Heim  >  Artikel  >  Datenbank  >  MySQL-Datenbankdesign

MySQL-Datenbankdesign

黄舟
黄舟Original
2016-12-19 16:33:431349Durchsuche

Innodb-Tabelle ist genau das Gegenteil; Sperrtabelle auf Zeilenebene
Internetdienste, mit Ausnahme von kostenpflichtigen Diensten, interaktiven Produkten, Nachrichtensystemen usw., lesen im Allgemeinen mehr und schreiben weniger. Es ist besser, die Myisam-Tabelle zu verwenden.
Tabellendesign
Tabelle mit fester Länge: Die Feldlängen aller Spalten haben eine feste Länge. Sie können im MySQL-Handbuch nachsehen. Die Felder mit variabler Länge sind VARCHAR, BLOB oder TEXT. Int-Zeichen haben alle eine feste Länge und Tabellen mit fester Länge nehmen viel Platz ein.
Dynamische Tabelle: Die Felder haben nicht alle eine feste Länge.
Tabellen fester Länge werden schneller abgerufen als dynamische Tabellen.

Die Entwurfsgewohnheit des Softwaresystems besteht darin, die klaren Funktionen jeder Tabelle zu unterscheiden. Beispielsweise enthält die Benutzertabelle Benutzerinformationen, wenn Sie Daten aus der Nachrichtentabelle und Benutzerinformationen aus der Benutzertabelle abrufen müssen Gleichzeitig werden Union-Abfragen verwendet, und manchmal werden für einige Vorgänge verschiedene komplexe SQL-Anweisungen wie Left und Join verwendet, und es können auch MySQL-Funktionen verwendet werden. Wenn es sich um einen Internetdienst mit einer großen Anzahl von Besuchen und Lesungen handelt, wird er gleichzeitig gelesen und die Datenmenge ist riesig, was schrecklich ist. Es ist am besten, redundante Felder in häufig verwendeten Tabellen zu haben, wenn die Daten nicht geändert werden, sodass alle Daten auf einmal gelesen werden können, aber komplexe Abfragevorgänge reduziert werden.

Wenn Sie eine Tabelle entwerfen, summieren Sie die Anzahl der Bytes, die von allen Feldtypen in der Tabelle belegt werden, und multiplizieren Sie sie mit Ihrer Erwartung (zum Beispiel: Speichern von 100 W Daten), was der Kapazität entspricht, die die gesamte Tabelle haben wird in Zukunft besetzen.

Aufteilen der Tabelle und Aufteilen der Datenbank
Beim Aufteilen der Tabelle wird eine Tabelle in N Kopien kopiert, in denen Daten mit unterschiedlichen Inhalten gespeichert werden, um zu entscheiden, welche Tabelle abgelegt werden soll es hinein.
Zum Beispiel handelt es sich bei der Benutzertabelle user traditionell um eine Tabelle. Das Aufteilen der Tabelle bedeutet, die Tabelle in user_01, user_02 usw. zu kopieren, die alle unterschiedliche Benutzerdaten im gleichen Format speichern.

Das Löschen einer Bibliothek ähnelt dem Teilen einer Tabelle, es handelt sich um eine Kopie der Bibliothek.

Es gibt viele HASH-Algorithmen zum Zerlegen von Tabellen oder Datenbanken. Der Hauptzweck besteht darin, das Datenvolumen der Tabelle zu reduzieren. Der Algorithmus wird verwendet, um sicherzustellen, dass das Datenvolumen jeder Tabelle durchschnittlich ist und die Anforderungen. Lese- und Schreibvorgänge werden amortisiert, um den Druck zu verringern, und es ist sicher, dass die meisten Benutzer davon betroffen sind. Der Nachteil besteht darin, dass das Abrufen umständlich ist und Sie einen anderen Weg finden müssen.

Viele Websites verwenden Discuz-Produkte, um Probleme im Frühstadium zu vermeiden, z. B. BBS, Blogs usw. Es gibt viele Einführungen und Optimierungsmethoden zu diesem Produkt, die ich nicht im Detail studiert habe Ich habe gehört, dass einige Websites ihre Optimierungsmethoden eingeführt haben. Zu dieser Zeit wurde hauptsächlich die Master-Slave-Methode für die Datenbank verwendet, die das Lesen und Schreiben der Datenbank trennte, um die Leistung zu verbessern. Ich persönlich bin jedoch der Meinung, dass diese Methode irgendwann vorbei sein wird Die Datenmenge erreicht das Ausmaß. Die Parallelität sowie die Lese- und Schreibvorgänge werden nicht verbessert und die Daten gehen auch nach und nach verloren.

Da Internetdienste mit großen Datenmengen und Anfragen umgehen müssen, sollten sie beim Entwerfen und Entwickeln nicht zu akademisch sein und nicht danach streben, ein „schönes“ Design von Datenbanken und Programmen zu erreichen wichtige Sache.

Das Obige ist der Inhalt des MySQL-Datenbankdesigns. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).


Stellungnahme:
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