mysql
文章平均质量分 53
andy.cao
这个作者很懒,什么都没留下…
展开
-
Snowflake算法
UUID 不能作为 ID 的另一个原因是它不具备业务含义,其实现实世界中使用的 ID 中都包含有一些有意义的数据,这些数据会出现在 ID 的固定的位置上。比如说我们使用的身份证的前六位是地区编号;7~14 位是身份证持有人的生日;不同城市电话号码的区号是不同的;你从手机号码的前三位就可以看出这个手机号隶属于哪一个运营商。而如果生成的 ID 可以被反解,那么从反解出来的信息中我们可以对 ID 来做验证,我们可以从中知道这个 ID 的生成时间,从哪个机房的发号器中生成的,为哪个业务服务的,对于问题的排查有一定的原创 2022-03-29 22:58:37 · 172 阅读 · 0 评论 -
写入数据量增加时,如何实现分库分表
我们学习了在高并发下数据库的一种优化方案:读写分离,它就是依靠主从复制的技术使得数据库实现了数据复制为多份,增强了抵抗大量并发读请求的能力,提升了数据库的查询性能的同时,也提升了数据的安全性。当某一个数据库节点,无论是主库还是从库发生故障时,我们还有其他的节点中存储着全量的数据,保证数据不会丢失。此时,你的电商系统的架构图变成了下面这样:这时,公司 CEO 突然传来一个好消息,运营推广持续带来了流量,你所设计的电商系统的订单量突破了五千万。订单数据都是单表存储的,你的压力倍增,因为无论是数据库的查询还是写入原创 2022-03-29 22:38:45 · 709 阅读 · 0 评论 -
mybatis批量插入
批量插入可以判断字段是否为空,再进行插入<insert id="batchInsert" parameterType="java.util.List"> insert into tbl_integral_youzan_coupon_verify_logs ( <foreach collection="logs" item="log" index="index" separator=","> <if test="log.batchNo != nul原创 2021-08-06 17:03:07 · 383 阅读 · 0 评论 -
Mybatis plus 忽略表中映射的字段
Mybatis-plus忽略表中映射的字段:Mybatis-plus使用entity和数据库进行关联映射,有时候可能有些字段,在当前表中不存在,但是操作的时候,又需要进行使用,所以有时候就需要进行忽略。具体如何忽略如下:@TableField(exist = false):表示该属性不是表中字段,但又是必须使用的。@TableField(exist = true):表示该属性是表中字段。Mybatis-plus其他相关注解含义:@TableField(exist = false):表示该属原创 2021-03-16 14:22:43 · 11377 阅读 · 0 评论 -
Mysql中的In和not exists
结论小表做外表的情况下对于主键来说, not exists 比 not in 快。对于普通索引来说, not in 和 not exists 差不了多少,甚至 not in 会稍快。大表做外表的情况下对于主键来说, not in 比 not exists 快。对于普通索引来说, not in 和 not exists 差不了多少,甚至 not in 会稍快。用法讲解为了方便,我们创建两张表 t1 和 t2 。并分别加入一些数据。(id为主键,name为普通索引)--t1..原创 2020-11-06 10:12:53 · 575 阅读 · 0 评论