Opened 5 years ago

Closed 5 years ago

Last modified 4 years ago

#13156 closed (fixed)

exists() selects all columns

Reported by: kmtracey Owned by: nobody
Component: Database layer (models, ORM) Version: master
Severity: Keywords:
Cc: Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: UI/UX:

Description

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)

comment:1 Changed 5 years ago by russellm

  • Needs documentation unset
  • Needs tests unset
  • Patch needs improvement unset
  • Triage Stage changed from Unreviewed to Accepted

comment:2 Changed 5 years ago by russellm

  • Resolution set to fixed
  • Status changed from new to closed

(In [12810]) Fixed #13156 -- Ensure that exists() queries are as fast as they can be. Thanks to Jerome Leclanche for the report.

comment:3 Changed 4 years ago by jacob

  • milestone 1.2 deleted

Milestone 1.2 deleted

Note: See TracTickets for help on using tickets.
Back to Top