在线创建索引避免阻塞DML语句
 
                  更新时间 2025-02-05 09:37:24
                 
 
                    最近更新时间: 2025-02-05 09:37:24
                  
 本文为您介绍在线创建索引避免阻塞DML语句的具体操作。
 - 
新建索引 推荐使用加关键字concurrently的方式在线创建索引,此方式不阻塞DML、DQL语,不影响表的增、删、改、查操作。 例如,在teledb_1表的id字段上创建索引语句如下: teledb=# create index concurrently teledb_1_id_idx on teledb_1(id); 
- 
重建索引 TeleDB支持在相同字段上创建多个索引,重建索引推荐使用替换的方式,过程如下: - 使用concurrently方式在线创建新的索引。
- 删除原索引(记得设置lock_timeout)。
- analyze表更新统计信息。
 
- 
更改主键 更改主键,推荐使用替换的方式,过程如下: - 在线创建新的包含主键列的唯一索引。
- 执行以下SQL替换主键:
ALTER TABLE teledb_1 DROP CONSTRAINT teledb_1_pkey, ADD CONSTRAINT teledb_1_new_pkey PRIMARY KEY USING INDEX teledb_1_id_uidx;
- analyze表更新统计信息。
 
