sql - Postgres查询非常大的表,索引仍然很慢
问题描述
尽管对 mytable 进行了索引(mytable 有 > 60 M 条记录),但以下查询运行非常缓慢,recdate
查询需要将近 7 分钟。
select to_char(recdate, 'yyyy'), count(*)
from mytable
group by to_char(recdate, 'yyyy')
解决方案
您没有提供执行计划,但我猜基于函数的索引将涵盖
CREATE INDEX mytable_idx ON mytable( to_char(recdate,'yyyy'));
询问:
select to_char(recdate,'yyyy'),count(*)
from mytable
group by to_char(recdate,'yyyy')
推荐阅读
- java - 在同一台机器上的多个进程之间共享内存中的对象
- python - 我不知道为什么 curs.execute 不起作用
- node.js - mongodb Atlas 服务器 - 缓慢返回
- python - 连接张量列表时出现 Keras 错误
- html - 可以为本地 HTML 文件创建绝对链接
- android - React 本机捆绑发布没有资产
- wolfram-mathematica - 在 Mathematica 中绘制线条列表并修剪到一个区域
- opencl - 在 For 循环中写入全局内存导致 OpenCL 崩溃
- python - 如何在 Python 中有效地动态更新 HTML/ 字符串?
- c# - Unity 引擎中的“转换”返回错误