数据库分库分表之后,所有表在一起,两个字段怎么做组合唯一索引?

2023-06-17 09:43:39 +08:00
 unregister

当时我答的是单独新建一个表,做组合索引,写入成功就插入,没写入成功就失败。

3367 次点击
所在节点    Java
23 条回复
xuanbg
2023-06-18 08:20:32 +08:00
@realpg 大概率是有点分表需求,然后无脑使用某些分表中间件,自己对分表根本没有概念。。。要我说,对分表有概念的,根本用不上那些分表中间件。如果说分表会影响业务逻辑,那这个分表肯定就分错了。
xuanbg
2023-06-18 08:30:10 +08:00
推荐一个解决方案,就是利用 redis 的 setIfAbsent 方法,这个方法是如果 key 不存在,则 set k/v ,然后返回 true 。也就是说,返回 true 的话,就表明 key 是唯一。
LuckyLight
2023-06-19 00:21:43 +08:00
这两个字段有没有哪个字段是分表键?如果有,直接在分表里用这两个字段创建 unique key 。如果没有,简单的方式就是创建一个中间表,这两个字段创建 unique key ,除了这两个字段,再加上分表键和分表的主键,方便后续查询。
当然,更简单粗暴的就是上分布式数据库,比如 TiDB😂。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/949463

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX