【发布时间】:2022-08-04 19:27:12
【问题描述】:
我在 PostgreSQL 数据库中有这张表,有 600 万行。
CREATE TABLE IF NOT EXISTS public.processed
(
id bigint NOT NULL DEFAULT nextval(\'processed_id_seq\'::regclass),
created_at timestamp without time zone,
word character varying(200) COLLATE pg_catalog.\"default\",
score double precision,
updated_at timestamp without time zone,
is_domain_available boolean,
CONSTRAINT processed_pkey PRIMARY KEY (id),
CONSTRAINT uk_tb03fca6mojpw7wogvaqvwprw UNIQUE (word)
)
我想优化它的性能,比如为列添加索引和添加分区。
我应该只为word 列添加索引,还是应该为多列添加索引更好。
建议对这张表进行什么分区?
是否有其他推荐的方法,例如添加压缩以进行一些优化?
-
索引需要适合查询。您没有显示任何查询。此外,没有显示名为 \"keyword\" 的列。
-
我做了一个帖子更新。我只使用简单的选择、更新和删除查询。
-
没有查询,就没有什么可以优化的。没有索引会产生任何影响。对查询使用解释(分析、详细、缓冲区)以获取查询计划,这将是您进行性能优化的起点
标签: postgresql database-tuning