Skip to content
Indexes · drill

The function that costs you the index

Return the ids of every event whose email is '[email protected]', regardless of how it was capitalised in the query — oldest id first. There is no index on lower(email), so find the way to ask that keeps the index you do have.

Tables in this database · Events
CREATE TABLE events (
  id INTEGER PRIMARY KEY,
  actor_id INTEGER NOT NULL,
  kind TEXT NOT NULL,
  email TEXT NOT NULL,
  happened_on DATE NOT NULL,
  duration_ms INTEGER
)
CREATE INDEX events_actor_idx ON events (actor_id);
CREATE INDEX events_kind_happened_idx ON events (kind, happened_on);
CREATE INDEX events_email_idx ON events (email);

Your query

⌘⏎