Приходилось ли создавть индексы в БД
Python
Junior
Без компании
Приходилось ли создавть индексы в БД
Ответы
Да, приходилось. Индексы в БД ускоряют поиск и сортировку данных, но замедляют вставку и обновление из-за необходимости поддерживать структуру индекса.
**Пример создания индекса в SQL (PostgreSQL):**
```
CREATE INDEX idx_user_email ON users(email);
```
**В Django ORM:**
```
from django.db import models
class User(models.Model):
email = models.EmailField(db_index=True) # Индекс на уровне поля
name = models.CharField(max_length=100)
class Meta:
indexes = [
models.Index(fields=['name'], name='idx_user_name'), # Составной индекс
]
```
**Когда использовать:**
- Частые запросы по полю (WHERE, JOIN).
- Уникальные ограничения (UNIQUE INDEX).
- Сортировка (ORDER BY).
**Когда избегать:**
- Таблицы с частыми INSERT/UPDATE.
- Поля с низкой селективностью (например, булевы значения).