Как работают составные индексы
Python
Middle
Без компании
Как работают составные индексы
Ответы
Составные (композитные) индексы — это индексы, включающие несколько столбцов таблицы. Они эффективны для запросов, которые фильтруют по всем или первым столбцам индекса в порядке их объявления.
**Особенности работы:**
- Порядок столбцов критичен — индекс `(A, B)` не поможет для поиска только по `B`
- Применяется "правило префикса" — индекс работает для условий с левыми столбцами
- Может использоваться для сортировки, если порядок совпадает с индексом
**Пример:**
```
# Создание составного индекса в Django
class User(models.Model):
first_name = models.CharField(max_length=100)
last_name = models.CharField(max_length=100)
age = models.IntegerField()
class Meta:
indexes = [
models.Index(fields=['last_name', 'first_name']),
]
```
**Когда использовать:**
- Частые запросы с фильтрацией по нескольким полям
- Необходимость оптимизации `ORDER BY` по нескольким столбцам
- Запросы с условиями `WHERE A=X AND B=Y`