我可以帮您翻译成中文。这段内容是关于使用Postgres数据库,试图查看1000000行表上索引扫描和顺序扫描之间差异的。请描述该表。
\d grades
然后解释分析行,范围在10到500000之间
explain analyze select name from grades where pid between 10 and 500000 ;
然后解释分析从第10行到第600000行之间的内容
explain analyze select name from grades where pid between 10 and 600000 ;
对我来说很奇怪的是,为什么第一个查询会进行索引扫描,而第二个查询却进行顺序扫描,尽管它们都使用了包含在索引中的相同列进行查询。
random_page_cost=1.1
进行设置对我很有效 - 规划器从 300+ms 的顺序扫描转换为 <1ms 的索引扫描。 - Yuri