データベースや各社を作ってみませんか?また、クエリを作成するときに動的なテーブル名を作成する必要もありません。それははるかに健全な解決策です。さらに、クライアントデータがより分離されるため、相互依存関係がより明確になる可能性があります。
上記は、アプリケーションレイヤーも分離されている場合に最適に機能するため、各インスタンスに異なるデータベースログインクレデンシャルのセットを提供できます。
そうでない場合は、インストール、使用しているプラットフォームなどに応じて、正常に動作するか、厄介または正常に動作する可能性があります。
会社名を追加するのはハックですが、機能させることができると思います。
レコードにクライアントIDを含めることも、一般的なアプローチです。テーブルに適切なインデックスが付けられている限り、パフォーマンスの観点から150万レコードについて必ずしも心配する必要はありません。これは大量のレコードではありません。さらに、会社IDの基準は、とにかく結果をかなり制限する必要があります。