Proč prostě nevytvořit databázi nebo každou společnost? A pak ani nemusíte při sestavování dotazů konstruovat názvy dynamických tabulek. Je to mnohem zdravější řešení. Navíc díky tomu budou data klientů více oddělena, takže jakákoli vzájemná závislost bude pravděpodobně zjevnější.
Výše uvedené funguje nejlépe, když jsou vrstvy aplikací také oddělené, takže každé instanci můžete poskytnout jinou sadu přihlašovacích údajů k databázi.
Pokud tomu tak není, může to fungovat dobře nebo nešikovně nebo dobře v závislosti na vaší instalaci, platformě, kterou používáte, a tak dále.
Připojení názvu společnosti je hack, ale myslím, že to může fungovat.
Mít ID klienta v záznamech je také běžný přístup. Z hlediska výkonu bych se nutně nebál o 1,5 milionu záznamů, pokud jsou tabulky vhodně indexovány. To není velké množství záznamů. Navíc kritéria ID společnosti by stejně měla docela dobře omezovat výsledky.