mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-06-21 03:41:55 +03:00
28 lines
922 B
Python
28 lines
922 B
Python
"""Peewee migrations -- 036_add_perf_indexes.py.
|
|
|
|
Adds composite/single-column indexes to speed up the most common queries
|
|
issued by the web UI on initial page load:
|
|
|
|
- event(camera, start_time DESC): /events list filtered by camera + time range
|
|
- reviewsegment(camera, start_time DESC): /api/review filtered by camera + time range
|
|
- reviewsegment(end_time): supports the end_time > after half of /api/review's range
|
|
|
|
The existing event(label, start_time DESC) index from migration 027 already
|
|
covers /events/explore, so it is intentionally not duplicated here.
|
|
"""
|
|
|
|
import peewee as pw
|
|
|
|
SQL = pw.SQL
|
|
|
|
|
|
def migrate(migrator, database, fake=False, **kwargs):
|
|
migrator.sql(
|
|
'CREATE INDEX IF NOT EXISTS "event_camera_start_time" '
|
|
'ON "event" ("camera", "start_time" DESC)'
|
|
)
|
|
|
|
|
|
def rollback(migrator, database, fake=False, **kwargs):
|
|
migrator.sql('DROP INDEX IF EXISTS "event_camera_start_time"')
|