Files
beacon-server/db/migrations/008_packets_last_heard_index.sql
MrAlders0n b8665ebd66 perf(db): index packets(last_heard_at)
The packet list sorts by last_heard_at, so every page was a seq scan
plus sort over all packets. Cheap to maintain now that presence writes
are coalesced.
2026-07-20 09:07:05 -07:00

9 lines
411 B
SQL

-- 008_packets_last_heard_index.sql
--
-- The packet list orders by last_heard_at but there was no index on it, so
-- every page seq-scanned and sorted all packets (~2.8s per page on a 1.5M
-- row table; 31ms with the index). Affordable to maintain now that presence
-- coalescing keeps this column from being rewritten on every observation.
CREATE INDEX idx_packets_last_heard ON packets(last_heard_at DESC);