Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Алексей Капустяненко "Почему же мой запрос на E...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
DotNetRu
August 28, 2019
Programming
0
47
Алексей Капустяненко "Почему же мой запрос на Entity Framework 6 тормозит? Часть 9000""
DotNetRu
August 28, 2019
Tweet
Share
More Decks by DotNetRu
See All by DotNetRu
Кирилл Лихтарович «Версионирование и кодогенерация в REST API»
dotnetru
0
270
Дмитрий Бабушкин «Мержилка .sln: быстро и надёжно, без UI и юнит-тестов»
dotnetru
0
200
Артём Микулич «Как интегрироваться с (не-)надёжным third-party API при помощи Polly»
dotnetru
0
180
Иван Патудин «gRPC и его реализация в .NET Core»
dotnetru
0
580
Дмитрий Павлов «Greenplum: Быстро, параллельно, консистентно»
dotnetru
0
340
Филипп Бочаров «Распределенная трассировка Jaeger в .NET»
dotnetru
0
360
Андрей Сергеев "Вопросы nullabilily в платформе .NET, применение функционального подхода в разработке с использованием типов Unit, Tagged Union, Optional, Result, разделение исключительных ситуаций и ожидаемых результатов при обработке ошибок."
dotnetru
0
160
Павел Московой "Работа с HTTP в платформе .NET, собственный движок для работы с HTTP, использующий функциональный подход на основе типа Result для обработки HTTP-ответа вместо исключений."
dotnetru
0
150
Сергей Огородников "Практика построения сервисов на основе ViennaNET"
dotnetru
0
170
Other Decks in Programming
See All in Programming
ノイジーネイバー問題を解決する 公平なキューイング
occhi
0
110
Vibe Coding - AI 驅動的軟體開發
mickyp100
0
180
360° Signals in Angular: Signal Forms with SignalStore & Resources @ngLondon 01/2026
manfredsteyer
PRO
0
140
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
React 19でつくる「気持ちいいUI」- 楽観的UIのすすめ
himorishige
11
7.5k
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.4k
並行開発のためのコードレビュー
miyukiw
0
1.3k
今から始めるClaude Code超入門
448jp
8
9.1k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
2.6k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
620
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
1
1k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
210
Featured
See All Featured
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
230
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
110
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
290
Between Models and Reality
mayunak
1
200
Everyday Curiosity
cassininazir
0
130
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
RailsConf 2023
tenderlove
30
1.3k
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