可获得性
本特性自MogDB 1.1.0 版本开始引入。
特性简介
通过create index concurrently语法,以不阻塞DML的方式在线创建索引。
客户价值
创建索引时指定concurrently关键字,可以实现创建过程中不阻塞DML,不阻塞用户在线业务。
特性描述
创建索引时,一般会阻塞其他语句对该索引所依赖表的访问。指定concurrently关键字,对表加的是ShareUpdateExclusiveLock锁,可以实现创建过程中不阻塞DML。
在线添加索引,需要执行先后两次对该表的全表扫描来完成build,第一次扫描的时候创建索引,不阻塞读写操作;第二次扫描的时候合并更新第一次扫描到目前为止发生的变更。由于需要执行两次对表的扫描和build,而且必须等待现有的所有可能对该表执行修改的事务结束。这意味着该索引的创建比正常耗时更长,同时因此带来的CPU和I/O消耗对其他业务也会造成影响。
特性增强
无。
特性约束
- 在线添加索引时只能指定一个索引的名称。
- 普通CREATE INDEX命令可以在事务内执行,但是CREATE INDEX CONCURRENTLY不可以在事务内执行。
- 列存表和临时表不支持CONCURRENTLY方式创建索引。
- 分区表支持以CONCURRENTLY方式创建全局索引,但不支持创建局部索引。
依赖关系
无。
相关页面
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




