阿里云DRDS分布式数据库 – 异构索引表
概念
对于DRDS的数据库的分表,查询时SQL中的where条件尽量会带上分库分表键,这样DRDS会将这个查询路由到具体的分库中,以提高查询效率。如果SQL的where条件中没有分库分表键,DRDS会进行一次全表扫描。
针对这种场景,DRDS提供了异构索引来解决这个问题。异构索引会将源表数据实时同步到按照不同字段分库分表的目标表中,以达到使用不同的分库分表键查询数据都不会走全表扫描的目的。
什么是“异构索引表”?
也就是应用在创建或者更新一条订单ID为分库分表键的订单数据时,会保存一份按照买家ID为分库分表键的订单索引数据,其结果就是:同一买家的所有订单索引表都保存在统一数据库中,这就是给订单创建了“异构索引表”。
典型的异构索引应用场景:电商网站的订单表
在DRDS中创建结构相同分表键不同的两张表,分别按照买家ID和卖家ID来分库分表,底层将数据实时的从源表同步到目标表,不同用户登录查询时去对应表中查找,避免全表扫描。
正文
下面以大家最为熟悉的电商订单数据拆分为例。一般记录一条订单数据结构如下:
基于订单数
共有 0 条评论