exists() selects all columns
It doesn't seem like the behavior noted here: http://groups.google.com/group/django-developers/browse_thread/thread/186f933bf51f1fa0
ever got written up in a ticket. Besides exists() not being as efficient as documented, it used to be that the internal existence queries done by the ORM to check for existence of an object and decide whether to do an INSERT or UPDATE just pulled a constant 1 from the DB, not all columns of the instance being queried. Now these existence queries are pulling the 1 and all columns of the instance, which seems like it could be a performance regression.
Change History
(3)
Triage Stage: |
Unreviewed → Accepted
|
Resolution: |
→ fixed
|
Status: |
new → closed
|
(In [12810]) Fixed #13156 -- Ensure that exists() queries are as fast as they can be. Thanks to Jerome Leclanche for the report.