![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
文章平均质量分 91
悲伤の李某
混吃等死的小白
展开
-
什么时候要分库分表
在业务开发之前,我们首先要根据自己的业务需求来设计表。考虑到一开始的业务发展比较平缓,且开发周期比较短,因此在开发时间比较紧的情况下,我们尽量不要考虑分表分库。但是我们可以将分表分库的业务接口预留,提前考虑后期分表分库的切分规则,把该冗余的字段提前冗余出来,避免后期分表分库的 JOIN 查询等。当业务发展比较迅速的时候,我们就要评估分表分库的必要性了。一旦需要分表分库,就要结合业务提前规划切分规则,尽量避免消耗性能的跨表跨库 JOIN 查询、分页查询以及跨库事务等操作。原创 2024-03-14 13:51:38 · 658 阅读 · 0 评论 -
mysql分库分表
分库分表是解决数据过大问题的良方,目的就是为了缓解数据库的压力,最大限度减轻数据库压力,提高数据处理的效率。分库是把一个数据库,按实际场景切分多个库,再将数据表分散到多个库中。分表是把一个数据库中的数据表拆分成多张表,防止单表过大两者都是为了解决数据过大问题,划分方式一般有垂直划分和水平划分两种。这里强烈建议在业务设计之初,就要规划好数据库的设计,做好分库分表,如果等业务量上涨之后再来划分,成本会比较昂贵。分库分表其实是一家,分库只是在分好表的基础上,将表挪移到不同的库,所以我们着重讨论分表。原创 2024-03-14 12:48:47 · 566 阅读 · 0 评论 -
表结构设计
现在你只需要牢记:分布式数据库架构,仅用 UUID 做主键依然是不够的。PK = 时间字段 + 随机码(可选) + 业务信息1 + 业务信息2 ......总的来说,范式是偏数据库理论范畴的表结构设计准则,在实际的工程实践上没有必要严格遵循三范式要求,每张表一定要有一个主键;自增主键只推荐用在非核心业务表,甚至应避免使用;核心业务表推荐使用 UUID 或业务自定义主键;一份数据应尽可能保留一份,通过主键关联进行查询,避免冗余数据;原创 2024-03-14 11:19:41 · 409 阅读 · 0 评论 -
mysql读写分离
当然了,面试官除了从架构上考察你对 MySQL 主从复制延迟的理解,还会问你一些扩展问题,比如:当 MySQL 做了主从分离后,对于数据库的使用方式就发生了变化,以前只需要使用一个数据库地址操作数据库,现在却要使用一个主库地址和多个从库地址,并且还要区分写入操作和查询操作,那从工程代码上设计,怎么实现主库和从库的数据访问呢?MySQL 做读写分离的前提,是把 MySQL 集群拆分成“主 + 从”结构的数据集群,这样才能实现程序上的读写分离,并且 MySQL 集群的主库、从库的数据是通过主从复制实现同步的。原创 2024-03-14 11:17:58 · 710 阅读 · 0 评论