Maximale Anzahl von Tabellen in MySQL
Was ist die maximale Anzahl von Tabellen, die MySQL verwalten kann?
Für docs, bitte siehe Begrenzt auf die Anzahl von Datenbanken und Tabellen und ähnliches. E. g.
InnoDB
erlaubt eine bis zu 4-Milliarden-Tabellen (und ich muss zugeben, wenn das US-Milliarden oder nicht kann ich nicht sagen). Für eine professionelle Kommentar: Bill Karwin auf "gibt es eine maximale Anzahl von Tabellen einer MySQL-Datenbank haben kann?"InformationsquelleAutor John | 2010-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Tatsache, dass Sie sind, diese Frage ist wahrscheinlich ein Indikator, dass Sie nicht unter ein best-practice-Ansatz für Ihr problem.
Möchten Sie vielleicht, um zu erklären, warum Sie benötigen, um viele Tabellen, um zu sehen, wenn Sie erhalten bessere Vorschläge, wie man dieses Problem angehen.
Allerdings gibt es keine server begrenzt die Anzahl der Tabellen in einer MySQL-Datenbank, aber da jede MyISAM-Tabelle die zugehörigen Dateien, die dann alle OS-Grenzen auf die Anzahl der Dateien erlaubt, wird eine Wirkung haben. InnoDB-Tabellen, Indizes, etc, sind gespeichert in einem einzigen Tabellenbereich, mit einem maximum von zwei Milliarden Tabellen. (Quelle)
MyISAM ist die Standard-Speicher-engine für MySQL. Die Tabellen sind wahrscheinlich mit MyISAM-es sei denn, Sie ausdrücklich die Verwendung von InnoDB. Jede MyISAM-Tabelle auf der Festplatte gespeichert ist in drei Dateien. Die Namen der Dateien beginnen mit dem Namen der Tabelle und haben eine Erweiterung für den Datei-Typ anzeigt. Ein .frm-Datei speichert das Tabellenformat. Die Daten-Datei ein .MYD-Erweiterung. Die index-Datei ein .MYI Erweiterung. Weitere Infos: dev.mysql.com/doc/refman/5.0/en/myisam-storage-engine.html, en.wikipedia.org/wiki/MyISAM.
+1 noch für die Beantwortung der Frage, auch nach dem Hinweis heraus, es ist wahrscheinlich nicht eine gute Idee.
Ein gutes Beispiel für diese Frage ist WordPress Netzwerk. Aktuelle version als dieser Kommentar (3.5) erstellt neun Tabellen für jeden Standort. Sogar für einen bescheidenen installieren, können Sie eine Menge von Tabellen sehr schnell.
Für was es Wert ist, dass ich derzeit verwalten einer WordPress-Multisite-installation mit rund 7.000 Seiten. Das entspricht auf 63.000 Tabellen. Es sind einzigartige Herausforderungen, die mit der Verwaltung von großen Netzwerken, wie diese, aber es ist sicherlich sehr gut möglich.
InformationsquelleAutor Daniel Vassallo
Ich habe auch einen Anwendungsfall, in dem eine große Anzahl von Tabellen erforderlich ist. Im moment einer unserer Datenbanken hat knapp 100.000 Tabellen mit hervorragender Leistung.
Als Rob Guinness erwähnt, gibt es einen erheblichen Mehraufwand für die .frm-Dateien. Es ist auch wichtig zu beachten, dass alle Abfragen in information_schema ohne Einschränkungen auf dem schema, und wenn möglich die Tabelle selbst wird in eine ernsthafte performance-Treffer, während die Abfrage ausgeführt wird.
InformationsquelleAutor nilicule
Im Gegensatz zu Daniel Vassallo Antwort, ich habe einen Anwendungsfall, in dem eine große Anzahl von Tabellen erforderlich ist. Ich könnte mich irren, aber ich glaube nicht, dass es eine "best practice", durch die ich könnte verringern Sie die Anzahl der Tabellen.
Obwohl es wahrscheinlich richtig ist, dass die Anzahl der Tische ist begrenzt nur von den OS, ich möchte nur hinzufügen, dass ich mit weit über 1000 Tabellen in einer Datenbank mit einer Recht guten performance. Der einzige Nachteil scheint zu sein, erhöht den Aufwand für die .frm-Dateien. In meinem Fall habe ich die split eine sehr große Tabelle, in 1000+ separate Tabellen mit der gleichen Tabellenstruktur. MySQL Partitionierung war keine option für mich, weil der Denormalisierung, die erfordert, 2 Kopien von jedem Datensatz in separaten Tabellen.
Um die Leistung zu verbessern (schnellere Abfrage Zeiten). Als ich erklärte, die Partitionierung war keine option, da es mir nicht erlaubt, zu legen Sie zwei Kopien von jedem Datensatz in verschiedene Partitionen (zumindest keine, die Weise, die ich herausfinden konnte).
Aus einer Daten-Normalisierung Sicht, viele Tabellen werden könnten schlechte Praxis (abhängig von der Tabellen). Einfach zu sagen: jede Theorie muss bewiesen werden, in die Praxis und Umgekehrt. Also ich bezweifle, dass die Haltung in Ihrem Kommentar (in der Antwort), aber +1 für das teilen, was Sie getan haben.
InformationsquelleAutor robguinness
Einer möglichen situation, wo Sie brauchen könnte eine Menge von Tabellen ist, wenn Sie die Entwicklung von multi-tenant-Anwendung, wo für jeden tenant erstellen Sie separate Tabellen (sagen wir mal mit tentantId als ein Tabellennamen-Präfix). Finden Sie in diesem Artikel (Teil datentrennung): http://www.javacodegeeks.com/2013/11/architecting-a-multi-tenant-application.html
InformationsquelleAutor radosdesign