Gibt es ein Limit für die Anzahl der Tabellen in einer Datenbank?

8

Gibt es ein Limit für die Anzahl der Tabellen in einer Datenbank? Würde dies als schlechte Programmierung oder was auch immer angesehen werden? Ich habe viele Benutzerinformationen und ich frage mich, ob es in Ordnung wäre, viele Tabellen zu haben?

    
John Doe 05.04.2011, 23:03
quelle

8 Antworten

8

Wenn Sie diese Frage in Betracht ziehen, sollten Sie wahrscheinlich die Art und Weise ändern, wie Sie Daten speichern möchten. Es wird allgemein als eine schlechte Praxis angesehen, ein Datenbankschema zu haben, in dem die Anzahl der Tabellen im Laufe der Zeit zunimmt. Eine bessere Möglichkeit zum Speichern von Daten besteht darin, identifizierende Spalten (wie eine Benutzer-ID) zu verwenden und für jeden Benutzer eine Zeile zu verwenden. Sie können mehrere Tabellen für verschiedene Datentypen haben, aber sollten keine Tabellen für jeden Benutzer haben.

    
Joshua 05.04.2011, 23:08
quelle
4

Nein, mysql hat keine Begrenzung für die Anzahl der Tabellen in einer Datenbank, obwohl Sie natürlich davon abhängig sind, wie viel Speicherplatz Ihnen zur Verfügung steht.

Das heißt, wenn Sie diese Frage stellen, ist Ihr zukünftiges Design wahrscheinlich ziemlich hässlich.

    
geoffspear 05.04.2011 23:08
quelle
4

Habe das gerade gefunden

Ссылка

Wenn Sie also vermuten, dass Sie mehr als eine Million Tabellen haben, sollten Sie in Betracht ziehen, die Datenbank neu zu gestalten;) Beachten Sie auch, dass dieser Blogpost aus dem Jahr 2006 stammt.

    
KingCrunch 05.04.2011 23:08
quelle
3

ist normalerweise keine logische Grenze. aber diese Frage wirft die Diskussion auf - warum würden Sie denken, dass Sie sich einer Grenze nähern könnten? Wenn Sie viele Tabellen erstellen, dann haben Sie das Gefühl, dass Sie vielleicht wirklich viele Zeilen erstellen möchten ... vielleicht könnten Sie Ihre Idee näher erläutern, damit wir Ihnen eine Anleitung für das Schema geben können.?

    
Randy 05.04.2011 23:07
quelle
3

Im Allgemeinen sollte die Grenze, wenn es eine gibt, groß genug sein, um sich nicht zu sorgen. Wenn Sie sich darüber Sorgen machen, haben Sie größere Probleme. Wenn Sie beispielsweise mit Kunden arbeiten, die Aufträge haben, erstellen Sie eine Tabelle für Kunden und eine Tabelle für Bestellungen. Sie sollten keine Tabelle für jeden Kunden erstellen.

    
geofftnz 05.04.2011 23:07
quelle
1

Ja, es gibt ein Limit ... aber Sie werden es wahrscheinlich finden. 65.000 letzte hörte ich .. Ссылка

    
Cos Callis 05.04.2011 23:09
quelle
1

Ich kann einen Grund sehen, warum jemand eine Tabelle pro Benutzer möchte. Wenn jeder Benutzer im Laufe der Zeit eine zunehmende Anzahl von Protokollen / Einträgen / Zeilen erhält und nicht möchte, dass der Code eine riesige Liste von Einträgen nach Zeilen durchsuchen muss, die nur der bestimmten Benutzer-ID entsprechen, würde die Anwendung einfach funktionieren Suchen Sie nach einer Tabelle mit der angegebenen Benutzer-ID, und dann ist alles in dieser Tabelle nur für diesen Benutzer. Es würde die Leistung verbessern, wenn Sie Daten für einen bestimmten Benutzer vergleichen und sortieren möchten. Ich habe diese Methode verwendet, alle mit weniger als einhundert Benutzern. Ich bin mir nicht sicher, welche Konsequenzen sich für Tausende von Benutzern ergeben können.

    
Danmansonman 18.08.2015 00:14
quelle
0

Warum sollten Benutzer in ihre eigenen Tabellen aufgenommen werden? Es scheint mir eine Zeitverschwendung zu sein. Eine Benutzertabelle mit einer identifizierenden ID, die jedes Mal zunimmt, wenn eine neue Zeile hinzugefügt wird, würde funktionieren.

Die ID könnte ein Fremdschlüssel für andere Tabellen sein, wie "Blog_Posts" - jeder Blogpost müsste einen Autor haben, und Sie könnten eine "AuthorID" -Spalte verwenden, die mit einer Benutzer-ID in Ihren Benutzern korreliert Tabelle.

Spart Platz und Zeit - und es ist sauberer.

    
Lachlan 08.08.2016 11:56
quelle

Tags und Links