1
|
Christophe Roussy · 技术社区 · 6 年前 |
![]() |
1
1
一般Postgres只使用索引(或位图索引)扫描,如果它估计它整体更快。不等式条件通常比等式条件返回(多)行。因此,如果表统计数据和成本设置表明这可能更快,那么查询计划器可能会切换到顺序扫描。使用索引会增加开销,通常只有在 小的 从表中提取行的百分比。大约5%或更少,随细节变化很大。
你确定表格统计是最新的吗?你跑了吗
要测试,索引是否 可以 在测试会话中禁用顺序扫描(仅用于调试!):
那就跑吧
部分索引
Postgres只在以下情况下考虑部分索引
如果你有一个带有条件的部分索引
当你想变得聪明的时候要小心:如果你以后扩展你的
相关:
索引和统计注意两件事: 对于包含函数表达式的部分索引,有单独的每列统计信息,但不能只包含纯列引用。
创建索引不会触发
|
![]() |
User987 · SQL Server Web与标准版 7 年前 |