[2.1.x] Fixed #29685 -- Added QuerySet.explain() to the database optimization docs.
Backport of b042ab897636987701d3a35d6b566c6bef9d6ea2 from master
This commit is contained in:
parent
cae84904c6
commit
77498db196
@ -11,8 +11,9 @@ Profile first
|
|||||||
=============
|
=============
|
||||||
|
|
||||||
As general programming practice, this goes without saying. Find out :ref:`what
|
As general programming practice, this goes without saying. Find out :ref:`what
|
||||||
queries you are doing and what they are costing you
|
queries you are doing and what they are costing you <faq-see-raw-sql-queries>`.
|
||||||
<faq-see-raw-sql-queries>`. You may also want to use an external project like
|
Use :meth:`.QuerySet.explain` to understand how specific ``QuerySet``\s are
|
||||||
|
executed by your database. You may also want to use an external project like
|
||||||
django-debug-toolbar_, or a tool that monitors your database directly.
|
django-debug-toolbar_, or a tool that monitors your database directly.
|
||||||
|
|
||||||
Remember that you may be optimizing for speed or memory or both, depending on
|
Remember that you may be optimizing for speed or memory or both, depending on
|
||||||
@ -114,6 +115,14 @@ When you have a lot of objects, the caching behavior of the ``QuerySet`` can
|
|||||||
cause a large amount of memory to be used. In this case,
|
cause a large amount of memory to be used. In this case,
|
||||||
:meth:`~django.db.models.query.QuerySet.iterator()` may help.
|
:meth:`~django.db.models.query.QuerySet.iterator()` may help.
|
||||||
|
|
||||||
|
Use ``explain()``
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
:meth:`.QuerySet.explain` gives you detailed information about how the database
|
||||||
|
executes a query, including indexes and joins that are used. These details may
|
||||||
|
help you find queries that could be rewritten more efficiently, or identify
|
||||||
|
indexes that could be added to improve performance.
|
||||||
|
|
||||||
Do database work in the database rather than in Python
|
Do database work in the database rather than in Python
|
||||||
======================================================
|
======================================================
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user