分库分表
一、什么时候分库、什么时候分表
- 分表:单张数据表太大,大于 500w 以上,影响了事务执行效率,就需要考虑分表。
- 分库:单个数据库的性能扛不住高并发流量,就要考虑分库。
二、分库分表原理
具体可以分为两种方式:垂直切分和水平切分
(一) 垂直切分
垂直拆分一般是按照业务和功能的维度进行拆分,把数据分别放到不同的数据库中。
2024年1月1日大约 2 分钟
分库分表
一、什么时候分库、什么时候分表
二、分库分表原理
具体可以分为两种方式:垂直切分和水平切分
(一) 垂直切分
垂直拆分一般是按照业务和功能的维度进行拆分,把数据分别放到不同的数据库中。
读写分离、主从同步
一、读写分离概念
二、主从同步过程
从理解 SQL 执行过程到理解MySQL 日志系统的工作过程。
InnoDB 存储引擎
InnoDB 存储引擎是用 B+ 树来组织数据的
一行记录是怎么存储的
MySQL 的数据存放在哪个文件
MySQL事务是数据库操作的基本单位,能够保证数据的一致性和完整性。本文详细介绍事务的ACID特性、隔离级别以及实现原理。
日志
执行一条查询语句的过程
一条查询语句经历的过程,这属于「读」一条记录的过程,如下图:
执行一条更新语句的过程
执行一条 update 语句,期间发生了什么?比如这一条 update 语句:
UPDATE t\_user SET name = 'xiaolin' WHERE id = 1;
索引
索引分类
按「数据结构」分类:B+tree索引、Hash索引、Full-text索引。
按「物理存储」分类:聚簇索引(主键索引)、二级索引(辅助索引)。
按「字段特性」分类:主键索引、唯一索引、普通索引、前缀索引。
按「字段个数」分类:单列索引、联合索引。
每一种存储引擎支持的索引类型不一定相同
MySQL 5.5 后 InnoDB 成为默认存储引擎,同时也支持选择 MyISAM、Memory 等引擎
本文详细介绍MySQL的逻辑架构及SQL语句的执行流程。