From e954a03871cdc1c155ba7a3f3000dcf75998d9f4 Mon Sep 17 00:00:00 2001 From: Luke Plant Date: Thu, 24 Nov 2011 17:18:56 +0000 Subject: [PATCH] Added warning about the performance of large IN clauses in prefetch_related docs git-svn-id: http://code.djangoproject.com/svn/django/trunk@17147 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/ref/models/querysets.txt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/ref/models/querysets.txt b/docs/ref/models/querysets.txt index 9736d94838..6f2cad3464 100644 --- a/docs/ref/models/querysets.txt +++ b/docs/ref/models/querysets.txt @@ -821,6 +821,12 @@ referenced is needed, rather than one query for all the items. There could be additional queries on the ``ContentType`` table if the relevant rows have not already been fetched. +``prefetch_related`` in most cases will be implemented using a SQL query that +uses the 'IN' operator. This means that for a large QuerySet a large 'IN' clause +could be generated, which, depending on the database, might have performance +problems of its own when it comes to parsing or executing the SQL query. Always +profile for your use case! + extra ~~~~~