What is an automatic covering index?

2019-04-22 04:06发布

When using EXPLAIN QUERY PLAN in SQLite 3 it sometimes gives me output such as

SEARCH TABLE staff AS s USING AUTOMATIC COVERING INDEX (is_freelancer=? AND sap=?) (~6 rows)

Where does the index come from and what does it do? The table has no manually created indices on it.

1条回答
祖国的老花朵
2楼-- · 2019-04-22 04:24

"Automatic" means that SQLite creates a temporary index that is used only for this query, and deleted afterwards.

This happens when the cost of creating the index is estimated to be smaller than the cost of looking up records in the table without the index.

(A covering index is an index that contains all the columns to be read, which means that the record corresponding to the index entry does not need to be looked up in the table.)

查看更多
登录 后发表回答