Подтвердить что ты не робот

Добавить индексы (db_index = True)

Я читаю книгу о стиле кодирования в Django, и они обсуждают одну вещь - db_index=True. С тех пор, как я начал использовать Django, я никогда не использовал эту функцию, потому что я не совсем уверен, что она делает.

Итак, мой вопрос, когда рассмотреть вопрос о добавлении индексов?

4b9b3361

Ответ 1

Это не является специфическим для django; больше связано с базами данных. Вы добавляете индексы в столбцы, когда хотите ускорить поиск в этом столбце.

Как правило, база данных индексируется только первичный ключ. Это означает, что поиск с использованием первичного ключа оптимизирован.

Если вы выполняете много запросов в дополнительном столбце, подумайте о добавлении индекса в этот столбец, чтобы ускорить процесс.

Имейте в виду, как и большинство проблем масштаба, они применяются только в том случае, если у вас статистически большое количество строк (10 000 невелики).

Кроме того, каждый раз, когда вы делаете вставку, индексы должны обновляться. Поэтому будьте осторожны, на каком столбце вы добавляете индексы.

Как всегда, вы можете оптимизировать только то, что вы можете измерить, поэтому используйте инструкцию EXPLAIN и журналы базы данных (особенно любые медленные журналы запросов), чтобы узнать, какие индексы могут быть полезны.