postgreSQL11-提升创建索引index的速度的几个关键参数设定

本文介绍如何通过调整PostgreSQL参数来优化索引创建过程,包括设置最大并行工作者数量、最大创建索引工作者数量及创建索引工作者内存等,以提高索引创建效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务器:8cpu /6GB

#设定最大并行工作者数量
SET max_parallel_workers TO 8;
#设定最大创建索引工作者数量,这个数量从max_parallel_workers 参数获取,不能大于后者。
SET max_parallel_maintenance_workers TO 8; cpu最大值。
# 设定创建索引工作者内存
SET maintenance_work_mem TO '14 GB';

假设现在机器就用于创建索引的情况下,把每个参数调整到最大值。

阿里云服务器负载

cpu的消耗明显增加,但是内存没有太大变化。
在这里插入图片描述

### 如何在 PostgreSQL 中显示索引PostgreSQL 中,可以通过多种方式来查看数据库中的索引。以下是几种常用的方法: #### 使用 `\d` 命令 PostgreSQL 提供了一个交互式的命令行工具 `psql`,其中可以使用元命令 `\d` 来查看表、视图以及索引的信息。要查看特定表上的所有索引,可以运行以下命令: ```sql \d table_name ``` 这将列出该表上定义的所有索引及其属性[^1]。 如果想查看整个数据库中的所有索引,则可以执行: ```sql \d+ ``` 此命令会提供更详细的输出,包括索引的存储参数和其他附信息。 #### 查询系统目录 另一种方法是通过查询 PostgreSQL 的系统目录来获取有关索引的信息。具体来说,可以从 `pg_indexes` 或者联合多个系统表(如 `pg_class`, `pg_index`, 和 `pg_namespace`)中提取这些数据。 下面是一个简单的 SQL 查询示例用于展示当前模式下的所有索引: ```sql SELECT tablename, indexname, indexdef FROM pg_indexes WHERE schemaname = 'public' ORDER BY tablename, indexname; ``` 这段代码返回的结果包含了创建每个索引的实际 DDL (Data Definition Language) 语句 (`indexdef`) ,这对于理解或者重新构建某个索引非常有用[^3]。 对于更深入的技术细节比如B树结构等高级话题,请参阅专门讨论此类主题的文章。 另外值得注意的是,在实际应用过程中可能还需要考虑性能优化等问题,例如利用合适的占位符减少硬编码带来的风险并提高安全性[^2]。 最后提醒一下关于安装配置方面的问题,确保已经按照官方指南正确设置了服务器环境以便能够顺利操作上述功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值