springboot系列
文章平均质量分 89
dothetrick
努力生活的程序员,分享些自己的总结。
公号:技术Fun
展开
-
Mybatis-plus使用TableNameHandler分表详解(附完整示例源码)
为什么要分表Mysql是当前互联网系统中使用非常广泛的关系数据库,具有ACID的特性。但是mysql的单表性能会受到表中数据量的限制,主要原因是B+树索引过大导致查询时索引无法全部加载到内存。读取磁盘的次数变多,而磁盘的每次读取对性能都有很大的影响。这时一个简单可行的方案就是分表(当然土豪也可以堆硬件),将一张数据量庞大的表的数据,拆分到多个表中,这同时也减少了B+树索引的大小,减少磁盘读取次数,提高性能。两种基础分表逻辑说完了为什么要分表,下面聊聊业务开发中常见的两种基础的分表逻辑。按日期分表原创 2021-01-26 00:06:16 · 5874 阅读 · 2 评论 -
轻量级mysql binlog同步工具包binlogport
使用binlog的原因近期需要重构一个老系统,需要从几个服务中实时同步订单的修改到重构表里。这里就面临两个选择,在每个服务的mysql操作前埋点,发送修改信息到队列或服务上。这种方案需要修改多个服务的代码并且测试对原系统的影响,有额外开发和测试成本。同步mysql的binlog,根据表的insert和update更新新表。但是需要维护一个binlog同步的服务本次选择了binlog同步的方式。搭建的binlog服务也可以用在之后新系统的缓存更新和同步ES索引上,相对于埋点这种只有一次性作用的方原创 2021-01-20 21:08:48 · 903 阅读 · 6 评论 -
SpringBoot系列:5.项目中使用多个数据库
内容概述本文简要介绍下,当项目使用多个数据库的时候,druid如何配置。文章目录在之前的文章,SpringBoot系列:1.快速搭建web api项目,提到可以通过很简单的配置实现数据库的访问,例如:spring: datasource: druid: url: jdbc:mysql://localhost:3306/test_db?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEnco转载 2020-12-13 12:54:32 · 1841 阅读 · 2 评论