To nie jest specyficzne dla django; więcej do zrobienia z bazami danych. Dodajesz indeksy do kolumn, gdy chcesz przyspieszyć wyszukiwanie w tej kolumnie.
Zazwyczaj tylko klucz podstawowy jest indeksowany przez bazę danych. Oznacza to, że wyszukiwanie przy użyciu klucza podstawowego jest zoptymalizowane.
Jeśli wykonujesz wiele wyszukiwań w drugiej kolumnie, rozważ dodanie indeksu do tej kolumny, aby przyspieszyć działanie.
Należy pamiętać, że podobnie jak większość problemów skali, mają one zastosowanie tylko w przypadku statystycznie dużej liczby wierszy (10 000 nie jest duża).
Dodatkowo za każdym razem, gdy robisz wkładkę, indeksy muszą być aktualizowane. Uważaj więc, w której kolumnie dodajesz indeksy.
Jak zwykle, możesz zoptymalizować tylko to, co możesz zmierzyć - użyj więc instrukcji EXPLAIN
i dzienników bazy danych (szczególnie wszystkich dzienników powolnego sprawdzania), aby dowiedzieć się, gdzie mogą być przydatne indeksy.
może to pomóc (dużo) https://github.com/django-debug-toolbar/django-debug-toolbar#django-debug-toolbar – maazza
Indeksy mogą również przyspieszyć sortowanie. [Ten artykuł] (http://sqlmag.com/database-performance-tuning/indexing-sort-performance) dotyczy programu MS SQL Server, ale to samo dotyczy dowolnej bazy danych. – Nick