Работал ли с индексами в БД

Python Middle Без компании
Работал ли с индексами в БД
Ответы
Да, работал. Индексы в БД ускоряют поиск и сортировку данных, но замедляют вставку и обновление из-за необходимости поддерживать структуру индекса. **Пример создания индекса в SQL (PostgreSQL):** ``` CREATE INDEX idx_user_email ON users(email); ``` **В Django ORM:** ``` 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`. - Маленькие таблицы. - Поля с низкой селективностью (например, `boolean`). Оптимизация индексов требует анализа запросов через `EXPLAIN`.