- 🎨文章分类 -
Welcome to my website ——by 陈震 (Chen Zhen)
我在个人项目中喜欢直接使用各种 `model` 来继承 `po`,单纯的因为可以直接省去写各种重复 `getter` 和 `setter` 的步骤,并且不需要使用各种拷贝工具。但是,搞`vo`、`do`、`po`,还有其他各种 `o`,是为了解藕它们之间的联系,而继承却是建立它们之间的耦合关系,确实是会限制类的扩展性和灵活性。
ChenZhen此章节首先完成后端的activiti整合,生成工作流所需数据库表,数据库采用mysql。# 二、依赖 ```xml <dependencies> <!-- 引入Activiti7 -->
ChenZhen分库分表是在海量数据下,由于单库、表数据量过大,导致数据库性能持续下降的问题,演变出的技术方案。
ChenZhen`GitHub Actions` 是 GitHub 提供的一项持续集成 (CI) 和持续部署 (CD) 服务。它允许你在代码仓库中定义和运行自动化的工作流程,以响应存储库中的事件或调度。`GitHub Actions` 可以用于**构建、测试、打包和部署**项目,也可以执行其他自动化任务。
ChenZhen今天在云服务器上使用`docker`部署`mysql 8.0.11`时,遇到了一个诡异的问题,在云服务器的`docker`容器内可以连接上mysql,然而在自己电脑上连接mysql时报错:`Can‘t connect to MySQL server on localhost (10060)` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3dff34a6196346379954107dea0cd50e.png)
ChenZhen# 主从复制 ## 复制的基本原理 `slave`会从`master`读取`binlog`来进行数据同步 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6328d3b1531842ccb7a8c36697eff764.png) MySQL复制过程分成三步: 1. `master`将改变记录到二进制日志(`binary log`)。这些记录过程叫做二进制日志事件,`binary log events`;
ChenZhen# 存储引擎的选择 在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。 - **InnoDB**:是Mysql的默认存储引擎,支持事务、外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包含很多更新、删除操作,那么InnoDB存储引擎是比较合适的选择。
ChenZhen# SQL性能分析 ## SQL性能下降原因: 1. 查询语句写的烂 2. 索引失效(数据变更) 3. 关联查询太多`join`(设计缺陷或不得已的需求) 4. 服务器调优及各个参数设置(缓冲、线程数等)
ChenZhen我在个人项目中喜欢直接使用各种 `model` 来继承 `po`,单纯的因为可以直接省去写各种重复 `getter` 和 `setter` 的步骤,并且不需要使用各种拷贝工具。但是,搞`vo`、`do`、`po`,还有其他各种 `o`,是为了解藕它们之间的联系,而继承却是建立它们之间的耦合关系,确实是会限制类的扩展性和灵活性。
ChenZhen此章节首先完成后端的activiti整合,生成工作流所需数据库表,数据库采用mysql。# 二、依赖 ```xml <dependencies> <!-- 引入Activiti7 -->
ChenZhen`GitHub Actions` 是 GitHub 提供的一项持续集成 (CI) 和持续部署 (CD) 服务。它允许你在代码仓库中定义和运行自动化的工作流程,以响应存储库中的事件或调度。`GitHub Actions` 可以用于**构建、测试、打包和部署**项目,也可以执行其他自动化任务。
ChenZhen今天在云服务器上使用`docker`部署`mysql 8.0.11`时,遇到了一个诡异的问题,在云服务器的`docker`容器内可以连接上mysql,然而在自己电脑上连接mysql时报错:`Can‘t connect to MySQL server on localhost (10060)` ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3dff34a6196346379954107dea0cd50e.png)
ChenZhen# 主从复制 ## 复制的基本原理 `slave`会从`master`读取`binlog`来进行数据同步 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/6328d3b1531842ccb7a8c36697eff764.png) MySQL复制过程分成三步: 1. `master`将改变记录到二进制日志(`binary log`)。这些记录过程叫做二进制日志事件,`binary log events`;
ChenZhen# 存储引擎的选择 在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。 - **InnoDB**:是Mysql的默认存储引擎,支持事务、外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除了插入和查询之外,还包含很多更新、删除操作,那么InnoDB存储引擎是比较合适的选择。
ChenZhen# SQL性能分析 ## SQL性能下降原因: 1. 查询语句写的烂 2. 索引失效(数据变更) 3. 关联查询太多`join`(设计缺陷或不得已的需求) 4. 服务器调优及各个参数设置(缓冲、线程数等)
ChenZhen