optimize query performance

This commit is contained in:
Blake Blackshear
2022-04-30 08:38:54 -05:00
parent 0d5ae9a399
commit 78e1782084
2 changed files with 57 additions and 1 deletions

View File

@@ -487,6 +487,21 @@ def events():
clauses = []
excluded_fields = []
selected_columns = [
Event.id,
Event.camera,
Event.label,
Event.zones,
Event.start_time,
Event.end_time,
Event.has_clip,
Event.has_snapshot,
Event.plus_id,
Event.retain_indefinitely,
Event.sub_label,
Event.top_score,
]
if camera != "all":
clauses.append((Event.camera == camera))
@@ -510,12 +525,14 @@ def events():
if not include_thumbnails:
excluded_fields.append(Event.thumbnail)
else:
selected_columns.append(Event.thumbnail)
if len(clauses) == 0:
clauses.append((True))
events = (
Event.select()
Event.select(*selected_columns)
.where(reduce(operator.and_, clauses))
.order_by(Event.start_time.desc())
.limit(limit)