如题:比较好奇 OceanBase 是如何保证创建索引时,不影响更新操作的?
索引创建过程中,新写入的记录如何处理?
索引创建过程中,在索引列或主键上有更新的记录如何处理?
OB在创建索引的时候,是一个渐进的过程,首先不影响写入,因为OB是追加写。对于索引列有更新的情况,会进行记录。然后会去扫描现有数据去创建索引,扫描完成之后将更新的和新增的数据做一次合并,最后再将索引标记为可用状态,就完成了索引的创建。
如题:比较好奇 OceanBase 是如何保证创建索引时,不影响更新操作的?
索引创建过程中,新写入的记录如何处理?
索引创建过程中,在索引列或主键上有更新的记录如何处理?
OB在创建索引的时候,是一个渐进的过程,首先不影响写入,因为OB是追加写。对于索引列有更新的情况,会进行记录。然后会去扫描现有数据去创建索引,扫描完成之后将更新的和新增的数据做一次合并,最后再将索引标记为可用状态,就完成了索引的创建。