From c8d61fa109b5a4dee1eb6f7ae62c1e6ac00c2cab Mon Sep 17 00:00:00 2001 From: Alex de Landgraaf Date: Sun, 23 Feb 2014 13:55:25 +0100 Subject: [PATCH] Fixed #21986 -- Added some guidelines for database indexes. Thanks django-issues at colons.co for the suggestion. --- docs/topics/db/optimization.txt | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/topics/db/optimization.txt b/docs/topics/db/optimization.txt index 1f8f43b79f4..8847663b1b4 100644 --- a/docs/topics/db/optimization.txt +++ b/docs/topics/db/optimization.txt @@ -36,11 +36,19 @@ Use standard DB optimization techniques ...including: -* Indexes. This is a number one priority, *after* you have determined from +* Indexes_. This is a number one priority, *after* you have determined from profiling what indexes should be added. Use - :attr:`django.db.models.Field.db_index` or + :attr:`Field.db_index ` or :attr:`Meta.index_together ` to add - these from Django. + these from Django. Consider adding indexes to fields that you frequently + query using :meth:`~django.db.models.query.QuerySet.filter()`, + :meth:`~django.db.models.query.QuerySet.exclude()`, + :meth:`~django.db.models.query.QuerySet.order_by()`, etc. as indexes may help + to speed up lookups. Note that determining the best indexes is a complex + database-dependent topic that will depend on your particular application. + The overhead of maintaining an index may outweigh any gains in query speed. + +.. _Indexes: http://en.wikipedia.org/wiki/Database_index * Appropriate use of field types.