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.
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.
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.
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.?
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.
Ja, es gibt ein Limit ... aber Sie werden es wahrscheinlich finden. 65.000 letzte hörte ich .. Ссылка
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.
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.