Защо просто не създадете база данни или всяка компания? И тогава дори не е необходимо да създавате имена на динамични таблици, когато създавате заявките си. Това е много по-здраво решение. Нещо повече, това ще направи клиентските данни по-разделени, така че всяка взаимна зависимост вероятно ще бъде по-очевидна.
Горното работи най-добре, когато слоевете на приложението също са отделни, така че можете да предоставите на всеки екземпляр различен набор от идентификационни данни за вход в базата данни.
Ако това не е така, може да работи добре или да е неудобно или добре в зависимост от вашата инсталация, каква платформа използвате и така нататък.
Добавянето на име на фирма е хак, но може да се накара да работи, предполагам.
Наличието на клиентски идентификатор в записи също е често срещан подход. Не бих се притеснявал непременно за 1,5 милиона записа от гледна точка на производителността, стига таблиците да са подходящо индексирани. Това не е голямо количество записи. Освен това критериите за идентификация на компанията трябва да ограничават резултатите доста добре така или иначе.