Синхронный доступ к БД быстрее асинхронного

2 1

Смотрю сейчас видео про сравнение производительности синхронных и асинхронных операций в EF Core. Всем известно, что мы должны использовать асинхронные функции при обращении к базе данных, но. . . Если вы работаете с MS SQL Server, то стоит очень серьезно подумать.

Во-первых, на больших данных EF Core просаживается значительно. При запросе, который вытаскивает из базы 2 мегабайта асинхронный будет выполняться 1.3 секунды, а в случае с 5 мегабайтами 9.5 секунд. При этом синхронные функции будут работать почти в сотню раз быстрее! Миф о необходимости использования асинхронности разбит самими MS. 

Но тут же они сравнивают с Postgres и узнают, что там такой проблемы нет. Там синхронные и асинхронные запросы выполняются примерно одинаково и на много быстрее, чем MS SQL. Вы всё ещё платите за ДОРОГУЩУЮ лицензию MS SQL? 

Проблема производительности асинхронного доступа к MS SQL Server оказалась в SQLClient. Если вы используете EfCore и MS SQL Server и при этом у вас есть запросы, которые вытягивают много данных из базы (text, varchar(max) и др), то срочно обновляйте SQLClient. А лучше переходите на Postgres. 


Понравилось? Кликни Лайк, чтобы я знал, какой контент более интересен читателям. Заметку уже лайкнули 1 человек


Комментарии

Jeka Sylar

17 Марта 2025

Привет, Миша нравиться твоя ава тут рисованный ты в очках.
Знаю делал это ИИ, подскажи какой именно делал хочу себе такое сделать


Михаил Фленов

17 Марта 2025

Встроенный в Apple macOS


Добавить Комментарий

Еще что-нибудь

Хотите найти еще что-то интересное почитать? Можно попробовать отфильтровать заметки на блоге по категориям.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне