基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
OceanBase 数据库中索引相关的常见问题
更新时间:2023-11-14 03:16
本文介绍 OceanBase 数据库中索引相关的常见问题。
OceanBase 数据库目前支持哪些索引类型?
OceanBase 数据库目前支持局部索引与全局索引、逆序索引。其中局部索引中,OceanBase 数据库支持普通索引与唯一索引,不支持全文索引、表达式索引,部分支持物化视图。
如何加速或减慢索引创建速度?
对于 OceanBase 数据库 V1.X 版本,可以通过调整 merge_thread_count 配置项调整创建索引时的并发线程数,默认为 0。此时合并的工作进程数的计算方式为 min{10,CPU 数量*0.3}。
对于 OceanBase 数据库 V2.X 及后续版本,可以通过调整系统租户的 parallel_servers_target 变量调整创建索引时的并发线程数,默认为 0。
有关以上配置项的详细信息,请参见《OceanBase 数据库 参考指南》中的 系统配置项 与 系统变量 章节。
如何开启并行创建索引?
配置项 tablet_size 用于控制分区内部并行处理(合并、查询等)时每个分片的大小,设置为 0 表示串行排序,该配置项必须配置为 2M 的倍数。最大的并发度为 32,即同时最多有 32 个线程用于创建索引。
有关该配置项的详细信息,请参见《OceanBase 数据库 参考指南》中的 系统配置项 章节。
为何 OceanBase 数据库 V1.X 版本中创建唯一索引需要多次合并?
对于 OceanBase 数据库 V1.X 版本,在第一次合并触发到第一次合并完成期间,无法检查数据唯一性,需要在第二次合并时再进行检查。
预创建索引与后建索引有什么区别?
预创建索引的优点在于创建的索引可以立即生效,但会造成索引表在进行合并时耗费更多时间。后建索引在数据写入速度方面比预创建索引快,但索引不能立即生效,索引可能会创建失败。