documentation should warn of cost of ordering
|Reported by:||Owned by:||Ivan Kolodyazhny|
|Has patch:||yes||Needs documentation:||yes|
|Needs tests:||no||Patch needs improvement:||no|
In https://docs.djangoproject.com/en/dev/ref/models/options/#ordering it makes no mention of the database cost of ordering, especially for ordering on non-indexed fields, or the implicit joins of chained orderings. (It doesn't even mention that it chains orderings!) https://docs.djangoproject.com/en/dev/ref/models/querysets/#order-by is another location where the cost might be mentioned. It could additionally go in https://docs.djangoproject.com/en/dev/topics/db/optimization/#don-t-retrieve-things-you-don-t-need as a hint for things to look for when optimizing.
Recommend for model options and querysets pages: "Warning: Ordering is not a free operation. Each field you add to the ordering will incur a cost from your database. Each foreign key you add will include all of its default orderings implicitly."
Recommend for optimization page: "==Don't order if you don't care== Ordering is not free; each field added is an operation the database has to perform."
Change History (7)
comment:3 Changed 3 years ago by
|Owner:||changed from nobody to Ivan Kolodyazhny|
|Status:||new → assigned|