Neko Neko2
Type ESC to close search bar

Multi-column index in DB

Multi-column index in DB

Databases support creating composite indexes (index on multiple columns). If you specify the columns in the right order in the index definition, a single composite index can speed up several kinds of queries on the same table. Suppose that a table has the following specification:

CREATE TABLE test (
    id         INT NOT NULL,
    col1  CHAR(30) NOT NULL,
    col2  CHAR(30) NOT NULL,
    col3  CHAR(30) NOT NULL,
    PRIMARY KEY (id),
    INDEX name (col1, col2, col3)
);

The index name is used for lookups in the following queries:

SELECT * FROM tbl_name WHERE col1=val1;
SELECT * FROM tbl_name WHERE col1=val1 AND col2=val2;
SELECT * FROM tbl_name WHERE col1=val1 AND col2=val2 AND col3=val3;

The index name is not used for lookups in the following queries:

SELECT * FROM tbl_name WHERE col2=val2;
SELECT * FROM tbl_name WHERE col2=val2 AND col3=val3;

Summary: If the table has a multiple-column index, any leftmost prefix of the index can be used by the optimizer to look up rows.


Mentioned in

No mentions found

Unable to load mentions

Subscribe to Dwarves Memo

Receive the latest updates directly to your inbox.

Multi-column index in DB
hmhoang13
Mint this entry as an NFT to add it to your collection.
Loading...