exists() selects all columns
|Reported by:||Karen Tracey||Owned by:||nobody|
|Component:||Database layer (models, ORM)||Version:||master|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
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.