webapi sql производительность сравнения запросов - PullRequest
0 голосов
/ 28 февраля 2020

С точки зрения скорости выполнения, при всех равных условиях webapi2, какой метод будет выполняться быстрее?

ОПЦИЯ 1 var result = db.Database.SqlQuery ("dbo.myStoredProcedure"). ToList ( );

ОПЦИЯ 2 var query = db.table1.where (x => x.email) == targetEmail.select (c => new PortfolioPerfomance)

В основном option1 я написал хранимая процедура sql сама, и option2 я позволяю моделям в EF делать соответствующие соотношения. Запросы намного сложнее, чем это, но я просто пытаюсь понять, какие концепции будут быстрее.

спасибо !!

1 Ответ

0 голосов
/ 29 февраля 2020

Это вещь EF, независимо от того, используете ли вы веб-интерфейс или нет.

Но для массовых обновлений, когда вы обновляете огромные объемы данных, хранимая процедура всегда будет работать лучше, чем Решение ORM, потому что вам не нужно перенаправлять данные по проводам в ORM для выполнения обновлений.

Кроме того, если запросы сложные, хранимые процедуры работают быстрее, чем Entity Framework, когда требуется получить огромное количество data.

Имейте в виду, что оба варианта будут работать быстрее, если у вас есть правильный дизайн базы данных.

Ознакомьтесь с этой статьей для получения нескольких советов по улучшению производительности WEB API: https://www.c-sharpcorner.com/article/Tips-And-Tricks-To-Improve-WEB-API-Performance/

Также отметьте это, чтобы улучшить хранимые процедуры: https://www.c-sharpcorner.com/article/improve-stored-procedure-performance-in-sql-server-store-procedure-performance/

...