罗总的小迷弟 2021-07-14 11:49 采纳率: 0%
浏览 30

postgresql使用索引做查询条件 值不同 查询时间差距过大

postgresql使用索引做查询条件 值不同 查询时间差距过大

payee_id 在pay_request表中已经创建了索引

payee_id索引属性
名 运算符类别模式 运算符类别 排序顺序 Nulls排序
payee_id pg_catalog int8_ops AES NULLS LAST

查询语句 如下

select * from pay_request where payee_id = 35858 order by ctime desc limit 20; // 时间: 2.473s
select count(1) from pay_request where payee_id = 35858;//count:6345
select * from pay_request where payee_id = 92351 order by ctime desc limit 20; // 时间: 0.224s
select count(1) from pay_request where payee_id = 92351;//count:1281573

explain payee_id 35858结果
Limit (cost=0.43..439.01 rows=20 width=981)
-> Index Scan Backward using pay_request_ctime_idx on pay_request (cost=0.43..118066.22 rows=5384 width=981)
Filter: (payee_id = 35858)
explain payee_id 92351结果
Limit (cost=0.43..2.26 rows=20 width=981)
-> Index Scan Backward using pay_request_ctime_idx on pay_request (cost=0.43..118066.22 rows=1286676 width=981)
Filter: (payee_id = 92351)

  • 写回答

1条回答 默认 最新

  • 有问必答小助手 2021-07-15 18:58
    关注

    你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,目前超出我们的服务范围,暂时无法为您解答。

    首次提问人员可免费体验一次有问必答服务。目前首次提问的问题服务范围为:编程语言、Java开发、python、数据库、前端开发 领域专业技术问题,为您提供问题的解决思路和指导。不提供源码代写、项目文档代写、论文代写、作业代写、安装包资源发送或安装、软件使用指导等服务。
    我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月14日

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料