aboutsummaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorrr-2016-05-30 23:24:08 +0200
committerrr-2016-05-30 23:36:58 +0200
commit349f32ccf21715456deccc3e2e67815052db97c6 (patch)
tree20d378bfc325b4bc2d7ca52aaa42f1d75fa81a2c /server
parent78612e1da1b2c0c7768d700d9a4ec360cd878945 (diff)
server/search: defer most posts columns
Diffstat (limited to 'server')
-rw-r--r--server/szurubooru/search/post_search_config.py21
1 files changed, 16 insertions, 5 deletions
diff --git a/server/szurubooru/search/post_search_config.py b/server/szurubooru/search/post_search_config.py
index dd33cff..74466cd 100644
--- a/server/szurubooru/search/post_search_config.py
+++ b/server/szurubooru/search/post_search_config.py
@@ -1,4 +1,4 @@
-from sqlalchemy.orm import subqueryload
+from sqlalchemy.orm import subqueryload, lazyload, defer
from sqlalchemy.sql.expression import func
from szurubooru import db, errors
from szurubooru.func import util
@@ -26,11 +26,22 @@ class PostSearchConfig(BaseSearchConfig):
def create_filter_query(self):
return self.create_count_query() \
.options(
- subqueryload(db.Post.user),
- subqueryload(db.Post.relations),
- subqueryload(db.Post.notes),
+ # use config optimized for official client
+ #defer(db.Post.score),
+ #defer(db.Post.favorite_count),
+ #defer(db.Post.comment_count),
+ defer(db.Post.last_favorite_time),
+ defer(db.Post.feature_count),
+ defer(db.Post.last_feature_time),
+ defer(db.Post.last_comment_creation_time),
+ defer(db.Post.last_comment_edit_time),
+ defer(db.Post.note_count),
+ defer(db.Post.tag_count),
subqueryload(db.Post.tags).subqueryload(db.Tag.names),
- subqueryload(db.Post.favorited_by),
+ lazyload(db.Post.user),
+ lazyload(db.Post.relations),
+ lazyload(db.Post.notes),
+ lazyload(db.Post.favorited_by),
)
def create_count_query(self):

© 2015 - 2026 Jakob L. Kreuze