archweb
archweb copied to clipboard
Investigate SELECT reduction for DB queries
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.
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