[1.6.x] Fixed #16895 -- Warned about cost of QuerySet ordering
Thanks outofculture at gmail.com for the suggestion.
Backport of cbf08c6b0c
from master
This commit is contained in:
parent
e4274e3da1
commit
276e053803
|
@ -216,6 +216,12 @@ Django quotes column and table names behind the scenes.
|
||||||
|
|
||||||
ordering = ['-pub_date', 'author']
|
ordering = ['-pub_date', 'author']
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Ordering is not a free operation. Each field you add to the ordering
|
||||||
|
incurs a cost to your database. Each foreign key you add will
|
||||||
|
impliclty include all of its default orderings as well.
|
||||||
|
|
||||||
``permissions``
|
``permissions``
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
|
|
|
@ -336,6 +336,12 @@ You can tell if a query is ordered or not by checking the
|
||||||
:attr:`.QuerySet.ordered` attribute, which will be ``True`` if the
|
:attr:`.QuerySet.ordered` attribute, which will be ``True`` if the
|
||||||
``QuerySet`` has been ordered in any way.
|
``QuerySet`` has been ordered in any way.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
|
||||||
|
Ordering is not a free operation. Each field you add to the ordering
|
||||||
|
incurs a cost to your database. Each foreign key you add will
|
||||||
|
impliclty include all of its default orderings as well.
|
||||||
|
|
||||||
reverse
|
reverse
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
|
||||||
|
|
|
@ -306,6 +306,17 @@ instead of::
|
||||||
|
|
||||||
entry.blog.id
|
entry.blog.id
|
||||||
|
|
||||||
|
Don't order results if you don't care
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
Ordering is not free; each field to order by is an operation the database must
|
||||||
|
perform. If a model has a default ordering (:attr:`Meta.ordering
|
||||||
|
<django.db.models.Options.ordering>`) and you don't need it, remove
|
||||||
|
it on a ``QuerySet`` by calling
|
||||||
|
:meth:`~django.db.models.query.QuerySet.order_by()` with no parameters.
|
||||||
|
|
||||||
|
Adding an index to your database may help to improve ordering performance.
|
||||||
|
|
||||||
Insert in bulk
|
Insert in bulk
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue