Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Алексей Капустяненко "Почему же мой запрос на E...
Search
DotNetRu
August 28, 2019
Programming
61
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Алексей Капустяненко "Почему же мой запрос на Entity Framework 6 тормозит? Часть 9000""
DotNetRu
August 28, 2019
More Decks by DotNetRu
See All by DotNetRu
Кирилл Лихтарович «Версионирование и кодогенерация в REST API»
dotnetru
0
300
Дмитрий Бабушкин «Мержилка .sln: быстро и надёжно, без UI и юнит-тестов»
dotnetru
0
210
Артём Микулич «Как интегрироваться с (не-)надёжным third-party API при помощи Polly»
dotnetru
0
200
Иван Патудин «gRPC и его реализация в .NET Core»
dotnetru
0
610
Дмитрий Павлов «Greenplum: Быстро, параллельно, консистентно»
dotnetru
0
380
Филипп Бочаров «Распределенная трассировка Jaeger в .NET»
dotnetru
0
400
Андрей Сергеев "Вопросы nullabilily в платформе .NET, применение функционального подхода в разработке с использованием типов Unit, Tagged Union, Optional, Result, разделение исключительных ситуаций и ожидаемых результатов при обработке ошибок."
dotnetru
0
180
Павел Московой "Работа с HTTP в платформе .NET, собственный движок для работы с HTTP, использующий функциональный подход на основе типа Result для обработки HTTP-ответа вместо исключений."
dotnetru
0
170
Сергей Огородников "Практика построения сервисов на основе ViennaNET"
dotnetru
0
190
Other Decks in Programming
See All in Programming
アクセシビリティから考える情報設計
high_g_engineer
0
430
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
310
Are APIs Still Relevant in the AI Era?
soyuka
0
380
市販E-Readerを乗っ取れ 〜Embedded Swiftで電子ペーパーガジェットを制御する〜
trickart
0
220
re:Inventに行く前に知っておきたい現地参加のノウハウ
nokomoro3
0
280
Turning Architecture into Unit Tests in the AI Era (NSSpain XIV)
steliosf
PRO
1
120
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
240
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
1k
SREの越境 / SRE Collaboration
y0hgi
2
290
技術的負債を組織課題として解く-増えすぎたマイクロサービスとの戦い-
reimaru
1
2.5k
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
410
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
30
13k
Featured
See All Featured
Design in an AI World
tapps
1
340
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
440
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
510
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Ethics towards AI in product and experience design
skipperchong
2
400
sira's awesome portfolio website redesign presentation
elsirapls
0
430
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
530
Transcript
"Почему же мой запрос на Entity Framework 6 тормозит?" Часть
9000 Алексей Капустяненко
Стек на проекте • ASP.NET Web API • EntityFramework 6
• AutoMapper • MS SQL + в дальнейшем Postgres 2
С чего все началось 3 50 строк C# 3000+ строк
SQL
Live Demo 1 4
Суть проблемы • Запрос большой и страшный, но выполняется он
быстро • Значит, EF делает “что-то” помимо запроса, довольно продолжительное по времени 5
Начало расследования • Переписать запрос • AsNoTracking() • Догружать связанные
сущности отдельными запросами • Compiled Queries • Перейти на EF Core 6
След найден • Performance Considerations (Entity Framework) • Performance considerations
for EF 4, 5, and 6 7
Performance Considerations (Entity Framework) 8 https://docs.microsoft.com/ru-ru/dotnet/framework/data/adonet/ef/performance-considerations
Этапы выполнения запросов 9 Загрузка метаданных Открытие подключения базы данных
Создание представлений Подготовка запроса Выполнение запроса Загрузка и проверка типов Отслеживание Подготовка материализатора
Performance considerations for EF 4, 5, and 6 10 https://docs.microsoft.com/ru-ru/ef/ef6/fundamentals/performance/perf-whitepaper
Performance considerations for EF 4, 5, and 6 11 https://docs.microsoft.com/ru-ru/ef/ef6/fundamentals/performance/perf-whitepaper
Что из этого кешируется 12 Загрузка метаданных Открытие подключения базы
данных Создание представлений Подготовка запроса Выполнение запроса Загрузка и проверка типов Отслеживание Подготовка материализатора
Подводные камни Entity Framework и производительность 13 https://habr.com/ru/post/269901/
Contains 14 Live Demo 2
Any (All) 15 Live Demo 3
Константы 16 Live Demo 4
Результат 17 Live Demo 5
Заключение • + Техника довольно действенная • - Страдает код
• За абстракции приходится платить отказом от абстракций 18
Спасибо за внимание!!! 19
20 Гитхаб с демо: https://github.com/alexeykap/Ef6Part 9000PresentationMaterials Мой telegram: https://t.me/KapAleksey