archweb icon indicating copy to clipboard operation
archweb copied to clipboard

Investigate SELECT reduction for DB queries

Open jelly opened this issue 5 years ago • 1 comments

After reading this blog post it might be possible to improve SQL queries by selecting less. This would require someone who would work on it to go through every query and check if it only needs one field in the SQL table and create a PR to only select this field therefore improving SQL query performance.

Note that there are no performance issues at the moment with archlinux.org so this is all nice to have and low prio.

jelly avatar Feb 28 '19 20:02 jelly

One example 073a04bb6bc6555ebdafb8d18325a4a84d25b8c0:

>>> releases = Release.objects.filter(available=True).values_list('version', flat=True).order_by('-release_date')
>>> print(releases.query)
SELECT "releng_release"."version" FROM "releng_release" WHERE "releng_release"."available" = True ORDER BY "releng_release"."release_date" DESC
>>> release_qs = Release.objects.filter(available=True).order_by('-release_date')
>>> print(release_qs.query)
SELECT "releng_release"."id", "releng_release"."release_date", "releng_release"."version", "releng_release"."kernel_version", "releng_release"."md5_sum", "releng_release"."sha1_sum", "releng_release"."created", "releng_release"."last_modified", "releng_release"."available", "releng_release"."info", "releng_release"."torrent_data" FROM "releng_release" WHERE "releng_release"."available" = True ORDER BY "releng_release"."release_date" DESC

jelly avatar Feb 28 '19 20:02 jelly