fix(timeline): drop join-table indexes redundant with composite PKs
idx_timeline_event_persons_event_id and idx_timeline_event_documents_event_id duplicated the leading column of their composite primary keys — Postgres already serves timeline_event_id lookups from the PK index, so the extra indexes only added write overhead. The inverse-side indexes (person_id, document_id) stay; they cover the FK cascade path. Deviates from the #774 task list ("all four FK columns") per PR #816 review. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -56,10 +56,9 @@ CREATE TABLE timeline_event_documents (
|
|||||||
);
|
);
|
||||||
|
|
||||||
-- Indexes added up-front (avoid the V62 FK-index retrofit debt): the two query columns plus
|
-- Indexes added up-front (avoid the V62 FK-index retrofit debt): the two query columns plus
|
||||||
-- explicit indexes on all four FK columns.
|
-- the inverse-side FK columns. timeline_event_id needs no extra index on either join table —
|
||||||
|
-- it is the leading column of the composite PK, so the PK index already serves those lookups.
|
||||||
CREATE INDEX idx_timeline_events_event_date ON timeline_events (event_date);
|
CREATE INDEX idx_timeline_events_event_date ON timeline_events (event_date);
|
||||||
CREATE INDEX idx_timeline_events_type ON timeline_events (type);
|
CREATE INDEX idx_timeline_events_type ON timeline_events (type);
|
||||||
CREATE INDEX idx_timeline_event_persons_person_id ON timeline_event_persons (person_id);
|
CREATE INDEX idx_timeline_event_persons_person_id ON timeline_event_persons (person_id);
|
||||||
CREATE INDEX idx_timeline_event_persons_event_id ON timeline_event_persons (timeline_event_id);
|
|
||||||
CREATE INDEX idx_timeline_event_documents_document_id ON timeline_event_documents (document_id);
|
CREATE INDEX idx_timeline_event_documents_document_id ON timeline_event_documents (document_id);
|
||||||
CREATE INDEX idx_timeline_event_documents_event_id ON timeline_event_documents (timeline_event_id);
|
|
||||||
|
|||||||
Reference in New Issue
Block a user