首页 > 其他分享 >openGauss 在线添加索引

openGauss 在线添加索引

时间:2024-04-09 09:56:23浏览次数:23  
标签:在线 创建 扫描 阻塞 索引 添加 openGauss

在线添加索引

可获得性

本特性自openGauss 1.1.0 版本开始引入。

特性简介

通过create index concurrently语法,以不阻塞DML的方式在线创建索引。

客户价值

创建索引时指定concurrently关键字,可以实现创建过程中不阻塞DML,不阻塞用户在线业务。

特性描述

创建索引时,一般会阻塞其他语句对该索引所依赖表的访问。指定concurrently关键字,对表加的是ShareUpdateExclusiveLock锁,可以实现创建过程中不阻塞DML。

在线添加索引,需要执行先后两次对该表的全表扫描来完成build,第一次扫描的时候创建索引,不阻塞读写操作;第二次扫描的时候合并更新第一次扫描到目前为止发生的变更。由于需要执行两次对表的扫描和build,而且必须等待现有的所有可能对该表执行修改的事务结束。这意味着该索引的创建比正常耗时更长,同时因此带来的CPU和I/O消耗对其他业务也会造成影响。

特性增强

无。

特性约束

  • 在线添加索引时只能指定一个索引的名称。
  • 普通CREATE INDEX命令可以在事务内执行,但是CREATE INDEX CONCURRENTLY不可以在事务内执行。
  • 列存表、分区表和临时表不支持CONCURRENTLY方式创建索引。

依赖关系

无。

标签:在线,创建,扫描,阻塞,索引,添加,openGauss
From: https://www.cnblogs.com/renxyz/p/18123189

相关文章

  • openGauss 用户口令强度校验机制
    用户口令强度校验机制可获得性本特性自openGauss1.1.0版本开始引入。特性简介对用户访问数据库所设置的口令强度进行校验。客户价值用户无法设置过低强度的口令,加固客户数据安全。特性描述初始化数据库、创建用户、修改用户时需要指定密码。密码必须满足强度校验,否则会提......
  • openGauss 智能基数估计
    智能基数估计可获得性本特性自openGauss3.1.0版本开始引入。特性简介智能基数估计利用库内轻量级算法进行多列数据分布建模,并且提供多列等值基数估计的能力。在数据分布倾斜并且列之间相关性强的数据场景下能够提供更准确的估计结果,从而给优化器提供准确的代价参考,提高计划生......
  • 为什么索引结构默认使用B+Tree?为什么需要注意联合索引中的顺序?最左前缀原则是什么?
    (1)为什么索引结构默认使用B+Tree,而不是B-Tree,Hash,二叉树,红黑树?B-tree:B+Tree相比于B-Tree,所有的数据都存储在叶子节点,并且叶子节点之间用指针相连形成了一个有序链表,这有利于范围查询和全表扫描时连续地读取磁盘上的数据,极大地降低了磁盘I/O次数。而在B-Tree中,数据分布在所有节......
  • 安卓开发向数据库添加中文变成了?怎么解决
    在安卓开发中,如果向数据库添加数据时中文变成了问号'?',通常是因为数据库的编码方式不支持中文字符。为了解决这个问题,可以尝试以下方法:1.确保数据库的编码方式支持中文字符。一般来说,可以选择使用UTF-8编码来存储中文字符。2.在创建数据库连接时,设置正确的字符集,例如在JDB......
  • Packet Tracer - 配置单臂路由器 VLAN 间,路由为交换机添加 V配置子接口,测试使用 VLA
    配置指令是下面以下均要进入特权模式enable以及全局模式configterminalS1S1(config)#vlan10S1(config-vlan)#vlan30S1(config-vlan)#exitS1(config)#intf0/11S1(config-if)#switchportmodeaccessS1(config-if)#switchportaccessvlan10S1(config-if)#int......
  • MySql添加用户
    添加MySQL用户通常涉及创建一个新用户并为其分配相应的权限。以下是在MySQL中添加用户的一般步骤:连接到MySQL数据库服务器:mysql-uroot-p创建一个新用户并分配密码:CREATEUSER'new_user'@'localhost'IDENTIFIEDBY'password';请将'new_user'替换为新用户......
  • MOGDB/openGauss索引推荐及虚拟索引
    MOGDB/openGauss索引推荐及虚拟索引索引推荐在ORACLE的优化中,可能大家有接触过SQLTuningAdvisor(SQL调优顾问,STA),类似的MOGDB/openGauss的索引推荐(Index-advisor)功能也可以对你的查询进行分析,并提出合理的创建索引的建议。ORACLE的STA输出是以一种意见或者建议的......
  • openGauss数据库源码学习-指标采集、预测与异常检测
    opengauss源码解析指标采集、预测与异常检测代码位置:/gausskernel/dbmind/tools/anomaly_detection各模组在整体结构上的组合在摩天轮论坛上官方解析文章已经叙述的相对完整详尽。该报告对应为具体模块内部的实现。Agent模块代码位置:~/agentAgent模块负责数据库指标数据......
  • 开源数据库OpenGauss的SQL解析源码分析
    开源数据库OpenGauss的SQL解析源码分析OpenGauss数据库体系概述openGauss是关系型数据库,采用客户端/服务器,单进程多线程架构;支持单机和一主多备部署方式,同时支持备机可读、双机高可用等特性。从代码结构体系结构的角度来说,oepnGauss的第一个组成部分是通信管理。openGa......
  • openGauss/MogDB配置IPv6
    openGauss/MogDB配置IPv6openGauss/MogDB支持多种网络接口,假如我们想在支持IPv6的网络上部署使用,只需简单操作即可,本文将介绍在Centos上如何配置使用。关于IPv6IPv6(InternetProtocolVersion6),是InternetEngineeringTaskForce(IETF)设计用于替代IPv4的下一代......