P1:Nie ma wyraźnego limitu w dokumentacji . W praktyce niektóre operacje to O(n) na wielu tablicach; spodziewaj się wydłużenia czasu planowania i problemów z takimi rzeczami, jak automatyczne odkurzanie, gdy dojdziesz do wielu tysięcy lub dziesiątek tysięcy tabel w bazie danych.
P2:To zależy od zapytania. Generalnie wielkie związki to zły pomysł. Dziedziczenie tabeli będzie działać trochę lepiej, ale jeśli używasz constraint_exclusion
spowoduje znaczne wydłużenie czasu planowania.
Oba te pytania sugerują podstawowy problem z twoim projektem. Nie powinieneś potrzebować ogromna liczba stołów i gigantyczne związki.
Idąc za komentarzem w drugiej odpowiedzi, powinieneś po prostu stworzyć kilka tabel. Wygląda na to, że chcesz utworzyć jedną tabelę na numer telefonu, co jest bezsensowne, a ponadto tworzyć widoki na numer. Nie rób tego, to błędnie modeluje dane i utrudnia, a nie ułatwia pracę. Indeksy, gdzie klauzule i łączenia pozwolą na bardziej efektywne wykorzystanie danych, gdy są one podzielone na kilka tabel logicznie. Proponuję studiować podstawowe modelowanie relacyjne.
Jeśli później napotkasz problemy ze skalowalnością, możesz spojrzeć na partycjonowanie , ale nie potrzebujesz do tego tysięcy stołów.