什么是分表、分库,如何查询插入额

发布于 2022-09-01 12:34:12 字数 42 浏览 27 评论 0

一直听同事说分表分库,可是不明白分开了还怎么操作,不都乱套了吗……

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

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

发布评论

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

评论(3

靑春怀旧 2022-09-08 12:34:12

无论是分库还是分表,其实最重要的一点是,在代码吧建立一种通过数据映射到某个库或者某个表的逻辑——无论是读,还是写的时候,都按同样的规则确定操作的表和库。

分库,最简单的,你指定所有的用户信息,存到某一个库,而操作日志,记入另外的库。
而分表,最简单的,比如,按用户id的奇偶数来确定存储到哪个表。

当然,这个规则,可以写得更复杂,也更符合实际需求。像,按数据量,按用户活跃度来实现多个库之间的负载和压力的均衡。

鱼窥荷 2022-09-08 12:34:12

几乎市面上所有的数据库系统都会带有分库分表功能,这也就是说,你没有必要手动去用代码实现分库分表的功能,只要按照数据库的规定配置好数据库的分库分表功能,数据库会自动帮你完成分库分表过程。在数据库分库分表后,你无须管数据库到底是怎么做到分库分表的,在你的项目中跟平时正常操作数据库一样去写sql语句进行curd就行了,其他的交给数据库系统去解决就好了

流年已逝 2022-09-08 12:34:12

当数据量异常庞大的时候,都存在一张表里面,会大幅度降低对这张表的读写性能,这时候就可以考虑下分表了。
根据你的业务,制定好分表的规则,就很重要。
举个简单的例子来说明:
这部分数据有5000w的数据量,对这些数据的查询只需要根据字段A等于某个值来查询,A是一个正整数。
那么可以考虑这么分:根据对A的值对10取模,那么数据就被分到10张表里面,table_0, table_1 ... table_9,那么根据A查询的时候,先对A取模,确定要查询的是数据在哪张表里面,然后再去对应的表查询。
上面只是一个很简单的例子来说明问题,你的业务逻辑可能还要复杂的多,也可以参考更加复杂的逻辑,类似oracle的表分区什么的。

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