@TheCoreFactory

MS SQL пул подключений или MultipleActiveResultSets=True (MARS)?

База данных MSSQL в Azure.
По факту с базой работает одна многопоточная, консольная программа к которой подключено 1000+ клиентов. Используется только INSERT/SELECT. В один момент времени может быть сделано до 100 выборок/записей в пике. Сейчас это все реализовано через пул на 100 подключений.
Попробовал переключить все на одно соединение при MultipleActiveResultSets=True, на тесте особых изменений не увидел, а реализация выходит прозрачней.

Собственно вопрос: где подводные камни при таком решении?
  • Вопрос задан
  • 1523 просмотра
Пригласить эксперта
Ответы на вопрос 1
DarkRaven
@DarkRaven
разработка программного обеспечения
Если я все правильно помню, при активном MARS вы работаете с БД синхронно (пакетно). И там все не про параллельность, а про чередование инструкций, как написано в документации. Меня бы уже насторожил данный факт.

Советую обратить внимание на документацию:
https://docs.microsoft.com/en-us/dotnet/framework/...

В общем, в данной ситуации скорее лучше pool соединений, чем MARS, как мне кажется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы