这个是 TiDB 时序场景的经典表设计问题。逐个答:
问题 1 方案取舍:你 1.8w QPS + 时序范围查询,选 方案 B(自增 + SHARD + 分区)。
核心原因:
AUTO_RANDOM 主键的设计意图是给"无时序字段"或"多业务混合"的场景用的——把随机后缀塞进主键来打散写入。一旦你有明确的 create_time 时序字段,用 AUTO_RANDOM 等于"用主键假装成时序,再额外为时序加索引",多绕一道。
方案 A 的 (create_time, ...) 联合索引在 1.8w QPS 下是新的写入瓶颈——索引本身在 TiKV 里也是有顺序的(按 create_tim…