Kaydet (Commit) cbf08c6b authored tarafından e0ne's avatar e0ne Kaydeden (comit) Tim Graham

Fixed #16895 -- Warned about cost of QuerySet ordering

Thanks outofculture at gmail.com for the suggestion.
üst 1185370c
......@@ -221,6 +221,12 @@ Django quotes column and table names behind the scenes.
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``
---------------
......
......@@ -334,6 +334,12 @@ You can tell if a query is ordered or not by checking the
:attr:`.QuerySet.ordered` attribute, which will be ``True`` if the
``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
~~~~~~~
......
......@@ -306,6 +306,17 @@ instead of::
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
==============
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment