跟踪索引并分析添加索引的表,我们遇到一些情况:我们的一些表有索引,但是当我在索引字段上执行带有子句的查询时where
,并没有分别考虑到您的 idx_scan 字段。相同的 relname 和 schemaname,所以,我不会错的。
测试更多,我删除并再次创建表,之后查询返回到帐户idx_scan
。
这也发生在另一个表中,我们执行了一些带有索引的查询并且没有考虑 idx_scan 字段,仅在 seq_scan 中,即使我在同一个表中创建另一个带索引的字段,这个新字段也不计算 idx_scan。
这些表有什么问题?我们做错了什么?仅当我使用 idx_scan 中帐户的索引创建一个新表时,才在一个有错误的旧表中。我们有时会使用这个数据库进行迁移,也许这可能是问题所在?发生在本地主机和在线服务器上。
我们看到的另一个事件,一些索引被计入了,idx_scan > 0,并且当执行查询选择时,没有再次增加 idx_scan,数量是固定的,只是增加了 seq_scan。我相信这些问题可能是相关的。
我很感激一些帮助,这是我们数据库的一个大谜团,不知道问题可能是什么。