用户表(千万级),订单表(十亿级) 关联表(用户ID、订单ID) 虽实现了数据隔离,但是每次查询用户订单信息都需要通过关联表关联订单表(订单表数据量大),通过tiflash列存方式是否解决不用通过关联表关联订单表的解决方案?

【 TiDB 使用环境】生产环境
【 TiDB 版本】tidb v.6.1.0
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
用户表(千万级),订单表(十亿级) 关联表(用户ID、订单ID) 虽实现了数据隔离,但是每次查询用户订单信息都需要通过关联表关联订单表(订单表数据量大),通过tiflash列存方式是否解决不用通过关联表关联订单表的解决方案?

【资源配置】
【附件:截图/日志/监控】

不能。关不关联跟tiflash没关系,这个跟你的表设计有关。
用tiflash对比如经常对某些列做sum、avg等这种操作比较有用。
你这种场景是不是可以从展示上做一些优化,比如列表页面只展示到订单号,查看详情的时候再根据订单号去查询订单表。走索引的话应该很快的。

tiflash并不能消除join
消除join只能设计个宽表了,但是宽表有宽表的问题,设计范式还是要遵守大部分的
您这种业务走索引应该会比较快,如果订单表非常大,索引扫描也很耗时,可以考虑分区表

关联与否是你表设计和业务决定的。你是不是想问tiflash能否支撑你们的这个用户表+订单表的宽表的形式?

就目前这种表设计,有没有更优的方式解决关联表的关系,毕竟订单表数据量大,每次查询比较耗时;还有走tiflash走宽表的方式,基于目前的数据量是否可行

如果是关联是否支持的角度肯定支持的,但是对性能要求和配置需求要具体实际测试一下才行。

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。