单向多对一的关联关系 创建两个存在一对多关系的实体: @Entity @Table(name = "tb_customer") @Data @ToString public class Customer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "last_name", length = 10, nullable = false) private S…
单向多对一的关联关系 创建两个存在一对多关系的实体: @Entity @Table(name = "tb_customer") @Data @ToString public class Customer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "last_name", length = 10, nullable = false) private S…
本文的所有示例都将在 Junit 单元测试中完成,因此需要先添加 Junit 依赖: <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <version>5.14.0</version> <scope>test</scope> </dependency&…
快速开始 JPA 是 Sun 对 ORM 框架定义的一组标准规范,类似于 JDBC 之于各种数据库。 创建一个空的 Maven 项目,添加如下依赖: <dependency> <groupId>org.hibernate.orm</groupId> <artifactId>hibernate-core</artifactId> <version>7.1.2.Final</version> </dependen…
如果表结构使用标志位进行软删除,比如: CREATE TABLE `tb_user` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT, `nickname` varchar(20) NOT NULL, `name` varchar(20) NOT NULL, `age` tinyint unsigned DEFAULT NULL, `del_flag` tinyint NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAUL…
UV 是一个第三方 Python 包管理工具,可以替代官方的 pip。 其优点是速度快、可以切换多个版本的 python、管理第三方包的虚拟环境等。更多内容可以看官方文档。 安装 Windows: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" Linux/Mac OS: curl -LsSf https://astral.sh/uv/install.sh | sh uv 的运行程序安装在C:\Us…
最简单的读写分离实现是提供两台已经设置了主从复制的 MySQL 服务器,然后由应用程序自身根据 SQL 类型决定在哪台服务器执行读在哪台服务器上执行写: 这种方式的优点是结构简单且性能较好,通常由应用程序的持久层框架实现(比如 MyBatis)对 MySQL 数据库的读写控制。 如果因为某些原因不能使用这种方式(比如绕过持久层框架直接执行 SQL),还有另一种方式可选: 即由 MyCat 实现的读写分离,应用程序将 MyCat 当做一个可读可写的 MySQL 服务器,由 MyCat 判断执行的 SQL 是只读还是写…
单数据库进行数据存储存在以下瓶颈: 瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘I0,效率较低。请求数据太多,带宽不够,网络IO瓶颈。 CPU瓶颈:排序、分组、连接查询、聚合统计等SQL会耗费大量的CPU资源,请求数太多,CPU出现瓶颈。 分库分表的中心思想都是将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能问题,从而达到提升数据库性能的目的: 拆分原则 垂直分库 以表为单位,根据业务将不同的表拆分到不同的数据库中。 垂直分表 以字段为依据,根据字段属性将不同字段拆分到不同表中。 水平拆分 …
主从复制是值将主数据库的 DDL 和 DML 操作通过二进制日志传到从库服务器中,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。 MySQL 支持一台主库同时向多台从库进行复制,从库同时也可以作为其他服务器的主库,实现链状复制。 主从复制的好处: 主库出现问题,可以快速切换到从库提供服务 实现读写分离,降低主库的访问压力 可以在从库中执行备份,以避免备份期间影响主库服务 原理 搭建 先准备两台 Linux 服务器,并都安装好 MySQL 8。 主库 主库的系统是 RHEL 9。 关闭…
错误日志 默认开启,默认存放目录 /var/log/mysqld.log。 可以通过系统变量查看错误日志位置: mysql> show variables like '%log_error%'; +----------------------------+----------------------------------------+ | Variable_name | Value | +----------------…
系统数据库 MySQL 安装好后自带四个系统数据库: 数据库 含义 mysql 存储 MySQL 运行时所需的各种信息(时区、主从、用户、权限等) information_schema 提供了访问数据库元数据的各种表和视图,包含数据库、表、字段类型及访问权限等 performance_schema 为 MySQL 运行时状态提供了一个底层监控功能,主要用于收集数据库服务器性能参数 sys 包含了一系列方便 DBA 和开发人员利用 performance_schema 性能数据库进行性能调优和诊断的视图 常用工具 m…
魔芋红茶
加一点PHP,加一点Go,加一点Python......
COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务
Theme Kratos Made By Seaton Jiang