mysql 通过merge 分表后 怎么进行查询和插入操作

发布于 2022-09-07 12:02:08 字数 140 浏览 29 评论 0

通过merge根据id取模进行分表后,查询难道是直接查询主表么?如果这样,那分表就没有意义了啊! 还有的人说通过union联合查询,那这样估计还没有直接查主表速度快吧!到底怎么查呢?
还有,插入的时候又怎么区分插入到哪个子表呢? 头疼啊,有没有大神详细的讲讲!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故人如初 2022-09-14 12:02:08

大概说一下,不要通过id取模进行分表,而是根据特定查询字段来分表。

比如,你需要查询某个『日期』的数据,那么可以根据『月份』来分表,你知道日期之后,自然能算出来月份是多少,自然就知道查询那张表;
再比如,你需要查询某个『人名』的数据,那么可以根据人名算出一个hash值,按照这个hash值取前1、2位来分表,你要查询某个人的数据,就能提前算出人名hash值,就知道这个人的数据存在哪张表里了。

希望能帮助到你。

素罗衫 2022-09-14 12:02:08

首先你要分清表与表之间的关系,到底是一对多、还是多对多

如你所说,你想查职称的话,那肯定就是一对多的关系,自然需要分表

比如,主表A里字段就为 JobId 和分表B关联上

查询的话你就可以使用 LEFT JOIN 和分表关联上

从而查询出它对应的职称

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文