Если вы используете одно статическое соединение для доступа к базе данных, вам придется синхронизировать вызовы методов. Многократные потоки, запрашивающие базу данных для данных по единственному соединению, ... эээмм ... запутывают вещи. Таким образом, вы сериализуете доступ к данным всех потоков, и это сильно повлияет на производительность.
Если каждый вызов открывает свое собственное соединение, вам не нужно сериализовать все потоки, потому что нет общего соединения. Создание соединения по запросу все еще является дорогостоящим проектом.
Если вы используете статический пул соединений, вы уменьшите это влияние на производительность, поскольку вам нужно только сериализовать доступ к пулу соединений.
Кроме того, статика, как правило, не является хорошим решением для проектирования - они делают модульное тестирование очень сложным. Вы должны рассмотреть возможность использования шаблона Singleton или Monostate.