Indexes
Index types, partial indexes, expression indexes, covering indexes, and online index creation.
0 features
but not in
Build a new index without taking an exclusive lock on the table, allowing reads and writes to continue during index creation.
CREATE INDEX CONCURRENTLYCONCURRENTLYonline index buildnon-blocking indexONLINE = ONALGORITHM=INPLACE
Postgres
MySQL
MariaDB
Oracle
SQL Server
SQLite
Redshift
DB2
Snowflake
BigQuery
Indexes that include additional non-key columns to satisfy queries entirely from the index without accessing the main table.
covering indexINCLUDEindex-only scannon-key columnsCREATE INDEX INCLUDE
Postgres
MySQL
MariaDB
Oracle
SQL Server
SQLite
Redshift
DB2
Snowflake
BigQuery
Indexes built on the result of an expression or function rather than a raw column value, enabling fast lookups on computed values.
expression indexfunctional indexfunction-based indexcomputed column indexCREATE INDEX lower(col)
Postgres
MySQL
MariaDB
Oracle
SQL Server
SQLite
Redshift
DB2
Snowflake
BigQuery
The variety of index data structures available, each optimized for different data types and query patterns.
B-Tree indexGIN indexGiST indexBRIN indexHash indexColumnstore indexBitmap indexFULLTEXT indexSP-GiST
Postgres
MySQL
MariaDB
Oracle
SQL Server
SQLite
Redshift
DB2
Snowflake
BigQuery
Indexes that only include rows matching a WHERE condition, reducing index size and improving performance for queries on subsets.
partial indexfiltered indexCREATE INDEX WHEREconditional index
Postgres
MySQL
MariaDB
Oracle
SQL Server
SQLite
Redshift
DB2
Snowflake
BigQuery