-- Composite feed index with an id tiebreaker so keyset pagination -- (ORDER BY created_at DESC, id DESC) stays index-covered and stable when -- multiple uploads share a created_at timestamp. CREATE INDEX idx_upload_event_created_id ON upload(event_id, created_at DESC, id DESC) WHERE deleted_at IS NULL; -- A user's own comments (moderation, "who commented"). The sibling -- idx_upload_user already exists for uploads; comment(user_id) was missing. CREATE INDEX idx_comment_user ON comment(user_id) WHERE deleted_at IS NULL; -- Hashtag filtering over comments — mirrors idx_upload_hashtag_hashtag, which -- only covered upload_hashtag. CREATE INDEX idx_comment_hashtag_hashtag ON comment_hashtag(hashtag_id);