首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优化最简单表的最简单SQL查询?

如何优化最简单表的最简单SQL查询?
EN

Database Administration用户
提问于 2022-06-05 12:03:16
回答 1查看 69关注 0票数 0

查询

SELECT * FROM public.data

  • id→PK整数
  • 数据→json
  • 时间戳→时间戳
  • 版本→整数

data列可以具有“大”值(例如,g~250 e.g)

查询

的结果

  • 时间:4m52s
  • Nb行: 620

我不知道这里的瓶颈是什么它似乎不应该花那么多时间只取620行。也许数据列是减慢一切的原因?

我能做些什么让这个查询更快吗?我试过用索引,但没有成功。如您所知,我不是DB专家,也许有一个低挂水果解决方案,因为这是一个非常基本的查询。

谢谢你的帮助

编辑1

这是explain (analyze, buffers) select * from public.data;的输出

代码语言:javascript
复制
"Seq Scan on data  (cost=0.00..7.86 rows=619 width=34) (actual time=0.007..0.083 rows=620 loops=1)"
"  Buffers: shared hit=6"
"Planning Time: 0.171 ms"
"Execution Time: 0.138 ms"

下面是这个表的create table输出:

代码语言:javascript
复制
-- Table: public.data

-- DROP TABLE IF EXISTS public.data;

CREATE TABLE IF NOT EXISTS public.data
(
    id integer NOT NULL DEFAULT nextval('data_id_seq'::regclass),
    data json NOT NULL,
    "timestamp" timestamp with time zone NOT NULL,
    version integer NOT NULL,
    CONSTRAINT data_pkey PRIMARY KEY (id)
)

TABLESPACE pg_default;

ALTER TABLE IF EXISTS public.data
    OWNER to vxpxchlkkyyvaa;
EN

回答 1

Database Administration用户

回答已采纳

发布于 2022-06-06 12:56:25

我发现这个问题只发生在当地。

我假设我的Heroku dyno和我的PG位于同一个AWS区域,并且具有某种优先级访问权限,这使得通信速度非常快。实际上,在我的服务器上,进行查询所需的时间不到一秒钟,而当我在本地(使用pgAdmin4或以编程方式)进行查询时,则需要5米左右。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/312958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档