F1:Es gibt keine ausdrückliche Begrenzung in den Dokumenten . In der Praxis sind einige Operationen O(n) für die Anzahl der Tabellen; Erwarten Sie längere Planungszeiten und Probleme mit Dingen wie Autovacuum, wenn Sie viele tausend oder zehntausend Tabellen in einer Datenbank erreichen.
Q2:Es hängt von der Abfrage ab. Im Allgemeinen sind große Gewerkschaften eine schlechte Idee. Die Tabellenvererbung funktioniert etwas besser, aber wenn Sie constraint_exclusion
verwenden führt zu stark verlängerten Planungszeiten.
Diese beiden Fragen deuten auf ein zugrunde liegendes Problem mit Ihrem Design hin. Solltest du nicht brauchen riesige Anzahl von Tischen und riesige Gewerkschaften.
Nach dem Kommentar in der anderen Antwort sollten Sie wirklich nur ein paar Tabellen erstellen. Sie scheinen eine Tabelle pro Telefonnummer erstellen zu wollen, was unsinnig ist, und obendrein Ansichten pro Nummer zu erstellen. Tun Sie dies nicht, es modelliert die Daten falsch und macht es schwieriger, nicht einfacher, damit zu arbeiten. Indizes, Where-Klauseln und Joins ermöglichen es Ihnen, die Daten effektiver zu nutzen, wenn sie logisch in ein paar Tabellen strukturiert sind. Ich schlage vor, grundlegende relationale Modellierung zu studieren.
Wenn Sie später auf Skalierbarkeitsprobleme stoßen, können Sie sich Partitionierung , aber dafür brauchen Sie nicht Tausende von Tabellen.