Index only rows that match a predicate.

Section: Create and use indexes

Create a partial index

sql
sql
CREATE INDEX idx_sessions_active ON sessions(user_id)
WHERE revoked_at IS NULL;
Explanation

Partial indexes can be smaller and more selective than indexing the entire table.

Learn the surrounding workflow

Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.

Related commands

Same sheet · prioritizing Create and use indexes
Create a basic index
Index a frequently filtered column.
OpenIn sheetsqlsame section
Create a composite index
Index multiple columns in query order.
OpenIn sheetsqlsame section
Create a unique index
Enforce uniqueness and speed up lookups.
OpenIn sheetsqlsame section
Explain a query plan
See whether SQLite scans or uses an index.
OpenIn sheetsql1 tag match
Collect statistics with ANALYZE
Help the planner choose better indexes.
OpenIn sheetsql1 tag match
Rebuild indexes
Recreate indexes when needed.
OpenIn sheetsql1 tag match