小编mem*_*und的帖子

尽快在 Postgres 表上创建索引

我在没有索引的 Postgres 表上有一个大型数据库导入(100GB)。

导入后,我想尽快为查询创建索引。只要索引未准备好,就不会访问表中的数据。

建立索引的最快方法是什么?我必须在 3 列(两列varchar,一列date)上建立索引。创建索引大约需要2个小时,这真的没有用。

有什么办法可以加快索引的创建吗?在数据导入之前设置索引可能不是更好,因为这会减慢导入速度?

我知道 Postgres 可以选择“不加锁”创建索引,但这不会降低性能,因为它使 Postgres 能够在创建索引时访问数据?

这是一个虚拟机。服务器的内存可以根据我的需要增加。目前我有32GB。work_mem并且maintenance_work_mem仍处于默认配置值。我没有用于数据库的 SSD。这肯定会加快速度吗?

我没有任何boolean可用于部分索引的标志或类似标志。事实上,我希望表中的每一行都被索引。

postgresql performance index configuration import

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

configuration ×1

import ×1

index ×1

performance ×1

postgresql ×1