【问题标题】:What is an automatic covering index?什么是自动覆盖指数?
【发布时间】:2013-12-29 18:05:06
【问题描述】:

当在 SQLite 3 中使用 EXPLAIN QUERY PLAN 时,它有时会给我输出,例如

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

索引从何而来,它有什么作用?该表上没有手动创建的索引。

【问题讨论】:

    标签: sqlite query-optimization sql-execution-plan


    【解决方案1】:

    “自动”表示 SQLite 创建一个临时索引,仅用于此查询,然后删除。

    当创建索引的成本估计小于在没有索引的表中查找记录的成本时,就会发生这种情况。

    (一个covering index是一个索引,包含了所有要读取的列,也就是说该索引条目对应的记录不需要在表中查找。)

    【讨论】:

      猜你喜欢
      • 2010-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 2011-10-26
      相关资源
      最近更新 更多