Кто использовал EF Core для pg - тормоза при 1-м запуске
От: Shmj Ниоткуда  
Дата: 08.08.22 08:50
Оценка:
Делаю 1 тестовый запрос по ключу. Если использовать прямой NpgsqlCommand:

using var con = new NpgsqlConnection(connectionString);
con.Open();
using var cmd = new NpgsqlCommand(sql, con);
var id = cmd.ExecuteScalar()!.ToString();


— в среднем первый запуск 1.2 сек.

Если использовать EF и прямой запуск запроса без маппинга:

using var dataContext = new OrderServicesDataContext(connectionString);
var res = dataContext.Database.ExecuteSqlRaw(sql);


— получается около 3.5 секунд.

Если с маппингом:

var id = dataContext.OrderItems.Where(o => o.Id == 1).Select(o => o.Id).First();


— первый запуск около 4 сек.

Получается примерно в 3-4 раза медленнее первый запуск. Если 1 сек. еще худо-бедно терпимо, то 4 сек. уже нужно только держать горячим постоянно.

Тема избитая, много пишут. Так много что даже лень все читать. Кто разбирался в чем там тормоза?
Отредактировано 08.08.2022 8:51 Shmj . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.