#DRDS 全局二级索引 (Global Secondary Index, GSI)
###一、版本限制
MySQL 版本 >= 5.7, 并且 DRDS 版本 >= 5.4.1
###二、 基本原理
1、主表+索引表(每个GSI对应一张索引表)-》下发到每一个分库中
2、写=》如何保证分库一致的?通过XA事务
3、读=》先读索引表,查询列中索引表的覆盖列全部包括,直接返回索引表数据,否则回表处理(回查主表取得缺失列的值)
###三、 使用
1、创建
DRDS 对 MySQL DDL 语法进行了扩展,增加定义 GSI 的语法。使用方式与在 MySQL 上创建索引一致:
建表时定义 GSI
建表后添加 GSI
其中:
索引名 :作为索引表的名字,用于创建索引表
索引列 :索引表的分库分表键,即索引分库分表子句中用到的所有列
覆盖列 :索引表中的其他列,默认包含主键和主表的全部分库分表键
索引分库分表子句 :索引表的分库分表算法