Improve bookmark query performance (#334)

* Remove tag projection from bookmark queries

* add feeds performance test
This commit is contained in:
Sascha Ißbrücker
2022-09-09 19:46:55 +02:00
committed by GitHub
parent a30571ac99
commit 6420ec173a
9 changed files with 151 additions and 50 deletions

View File

@@ -5,6 +5,7 @@ from functools import lru_cache
import requests
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from django.db.models import prefetch_related_objects
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render
from django.urls import reverse
@@ -114,7 +115,9 @@ def bookmark_import(request):
def bookmark_export(request):
# noinspection PyBroadException
try:
bookmarks = query_bookmarks(request.user, '')
bookmarks = list(query_bookmarks(request.user, ''))
# Prefetch tags to prevent n+1 queries
prefetch_related_objects(bookmarks, 'tags')
file_content = exporter.export_netscape_html(bookmarks)
response = HttpResponse(content_type='text/plain; charset=UTF-8')