gpt4 book ai didi

postgresql - Postgres 不使用 "ORDER BY"的索引

转载 作者:行者123 更新时间:2023-11-29 11:21:28 26 4
gpt4 key购买 nike

  • 我有一张很大的 table 。
  • 我在列 col1 上有一个索引。
  • 我想获取 col1 排序的数据。
  • 从查询计划我可以说它不使用索引。
  • 当我添加“LIMIT”时,它开始使用索引
  • 对于“LIMIT”的大值,它停止使用索引。

有什么线索吗?

附言我想根据 col1 的值(不一定排序)、除“ORDER BY”以外的任何建议来获取数据。

谢谢!!

最佳答案

如果您从表中返回所有行,索引扫描将比表扫描慢。为什么你认为你需要使用索引?

你可以尝试使用

设置 enable_seqscan = false

为了禁用顺序扫描,但我确信这会比顺序扫描慢。

ORDER BY 是对数据进行排序的唯一方法。您可能看到的任何其他排序纯属巧合

编辑
澄清一下:我建议关闭序列扫描。我只是发布这个作为一种方式来表明 seq 扫描确实比索引扫描更快。一旦关闭,使用索引扫描的执行计划很可能比 seq 扫描慢,显示 OP 不需要索引扫描。

关于postgresql - Postgres 不使用 "ORDER BY"的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4227295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com