Postgres索引:它们怎么会丢失(缺少索引)



我有一个关于postgres索引的问题:

  1. 什么"字段";指数到底涵盖了什么?索引对列有效,这正确吗?列中的每个字段都有索引吗?查询中使用的所有列都应该有索引,这正确吗?

  2. 通过比较seq扫描和idx扫描,可以检测丢失的索引。丢失的索引究竟是什么?它们是如何丢失的?

  1. 否,不是所有列都应该有索引。索引用于筛选标准中使用的列;在,在哪里,拥有。通常,只应使用最具选择性的一列或多列来定义索引(并且可以使用多个列(。现在,一些查询可以从向索引的INCLUDE子句添加列中受益。但是,这与让它们成为钥匙不同。这里是索引的基础
  2. 索引并没有真正丢失。这是优化器为候选索引提出的建议。不要想当然地认为这是正确的。测试并验证建议

最新更新