未来OB之神
#1
在一个MySQL租户中,表tb1如下所示:
CREATE TABLE tb1 (c1 INT, c2 INT, c3 INT, c4 VARCHAR(40), PRIMARY KEY(c1))
PARTITION BY HASH(c1) PARTITIONS 16;
CREATE INDEX tb1_ix1 ON tb1 (c2) LOCAL;
CREATE INDEX tb1_ix2 ON tb1 (c4) GLOBAL;
索引tb1_ix1和tb1_ix2哪个与主表的数据分布模式一致?
A. 都是
B. 都不是
C. tb1_ix1
D. tb1_ix2
2 个赞
没落的星辰
#3
选择C. tb1_ix1
这道题考察 OceanBase 分区表中 ** 本地索引(LOCAL)和全局索引(GLOBAL)** 的核心区别:
tb1_ix1 (LOCAL 本地索引)
创建语句带 LOCAL,是本地分区索引。
本地索引会完全继承主表的分区规则(HASH (c1) 16 分区)。
主表的每个分区,对应索引的一个独立分区,数据分布模式 100% 一致。
tb1_ix2 (GLOBAL 全局索引)
创建语句带 GLOBAL,是全局索引。
全局索引是独立分区 / 不分区,不跟随主表分区,分布模式和主表不一致。