Встречается на собеседованиях • сегодня

Как оптимизировать запросы к БД

1. **Индексы** – добавляй индексы на часто используемые поля в WHERE, JOIN, ORDER BY. ```csharp // Пример создания индекса через EF Core modelBuilder.Entity().HasIndex(u => u.Email).IsUnique(); ``` 2. **Выборка только нужных данных** – избегай `SELECT *`, используй проекции. ```csharp var users = dbContext.Users.Select(u => new { u.Id, u.Name }).ToList(); ``` 3. **Пагинация** – для больших таблиц применяй `Skip()`/`Take()`. ```csharp var pagedUsers = dbContext.Users.Skip(10).Take(5).ToList(); ``` 4. **Ленивая загрузка (Lazy Loading)** vs **Жадная (Eager Loading)** – выбирай осознанно. ```csharp // Eager Loading var orders = dbContext.Orders.Include(o => o.Items).ToList(); ``` 5. **Кэширование** – Redis или MemoryCache для часто читаемых данных. 6. **Batch-операции** – группируй INSERT/UPDATE. ```csharp dbContext.BulkInsert(entities); // Например, через библиотеку EF Extensions ``` 7. **Оптимизация JOIN** – проверяй наличие индексов и избегай избыточных связей. **Важно:** всегда анализируй план выполнения запроса (EXPLAIN в SQL).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы