![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
文章平均质量分 88
xingze_W
Stay hungry, Stay young!!!
展开
-
MySQL事务(ACID、隔离级别、不一致性)、锁、行锁、表锁、MVCC
看这篇文章之前先看一下另一篇博客:事务1、数据库怎么保证事务的ACID?原子性和隔离性:由事务管理器和MVCC(多版本管理系统)来控制。一致性:由主键、外键、触发器等保证。持久性:由预写日志(WAL)和数据库管理系统的恢复子系统保证。表锁mysql> flush table with read lock;加锁Query OK, 0 rows affected (0.01 sec...原创 2019-12-05 11:17:01 · 495 阅读 · 0 评论 -
MySQL主从复制(概念和作用、实战、常见问题和解决办法、扩展、GTID同步集群、集群扩容、半同步复制)
1.2 主从复制的步骤1.3 搭建主从同步实战1.3.4 主从复制的问题和解决方法1.7 半同步复制(保证不丢失数据)原创 2023-05-29 18:32:50 · 1411 阅读 · 0 评论 -
MySQL进阶(UNION和UNION ALL的区别、HAVING、CASE WHEN、自定义排序、SQL关键字、SQL语句执行顺序、自增主键不一定连续)
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。HAVING 子句可以让我们筛选分组后的各组数据。例如:查找总访问量大于 200 的网站。原创 2023-04-18 22:27:52 · 699 阅读 · 0 评论 -
MySQL系列一(索引、常见索引类型、索引下推、回表、聚簇索引与非聚簇索引、索引的数据结构B+树、索引失效的场景)
索引索引是一种可以加快检索速度的结构,类似于目录运用在表中某些字段上,存储索引需要单独占据一定的空间索引的特点:索引一旦建立,数据库会自动对其进行维护,而且由数据库决定何时使用索引使用时不必指定使用的索引,由数据库决定使用哪个索引索引分类:普通索引:最基本的数据库索引,没有任何限制唯一索引:唯一索引不允许两行具有相同的索引值主键索引:为表建立一个主键就会自动创建主键索引...原创 2019-12-05 10:29:03 · 1176 阅读 · 1 评论 -
MySQL系列二(Explain执行计划详解、执行计划的局限性)
文章目录1、 建索引对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引2、select子句中尽量避免使用*,只查询用到的字段。3、 where子句比较符号左侧避免函数尽量避免在比较符号的左侧出现表达式、函数等操作,因为会导致全表扫描,增加运行时间。所以,为了提高效率,可以把where子句中遇到函数或加减乘除的运算移到比较符号的右侧。4...原创 2020-07-19 19:03:27 · 233 阅读 · 1 评论 -
MySQL系列三(定位慢SQL、索引优化、SQL优化)Using filesort
1. 慢SQL1.1 定位慢SQL(慢查询日志)1.2 慢SQL优化整体思路2. 索引失效的场景3. 索引优化4. SQL语句优化Using filesort原创 2023-05-08 23:36:31 · 1621 阅读 · 0 评论 -
MySQL系列四(Online DDL、Online DDL的Alter、批量删除导致IO出现瓶颈)
线上临时表积压数据过多,虽然有索引和数据归档,但是每日新增数据量>删除&归档数量,导致整体数据操作效率变慢。所以提交数据库删除工单,结果导致线上数据库半个小时内整个数据库集群链接不可用。原创 2023-04-18 21:38:55 · 751 阅读 · 0 评论 -
ShardingSphere系列一(MySQL主从架构及读写分离实战(搭建主从集群、MySQL高可用方案MHA、分库分表概念))
这个工具专门用于监控主库的状态,当发现master节点故障时,会提升其中拥有新数据的slave节点成为新的master节点,在此期间,MHA会通过其他从节点获取额外的信息来避免数据一致性方面的问题。整个服务的性能是会有所下降的。在基于GTID的复制中,首先从服务器会告诉主服务器已经在从服务器执行完了哪些事务的GTID值,然后主库会有把所有没有在从库上执行的事务,发送到从库上进行执行,并且使用GTID的复制可以保证同一个事务只在指定的从库上执行一次,这样可以避免由于偏移量的问题造成数据不一致。原创 2023-05-08 23:49:00 · 1115 阅读 · 0 评论 -
ShardingSphere系列二(ShardingSphere实现分库分表)
当业务系统逐渐增大时,单库单表不足以支撑起整个业务,性能会急速下降,这是就需要分库分表;垂直拆分垂直分库垂直分库针对的是系统中的不同业务进行拆分。如用户一个库,订单一个库、商品一个库…分库之后减小了单库的压力,但单机压力并不会缓解多少,可以通过把库放到不同的服务器上解决。垂直分表“大表拆小表”,基于列字段进行拆分。一般是对表中的字段较多的表进行拆分,将不常用的、数据较大、长度较长的拆分到...原创 2020-07-19 18:35:55 · 1729 阅读 · 1 评论 -
ShardingSphere系列三(ShardingSphere实现读写分离)
MySQL主从复制原理将对主数据库的增、删、改操作通过二进制日志(binog)传输到从数据库上,然后将这些日志重新执行(重做),从而使得从数据库的数据与主数据库一致。主从复制作用防止主数据库崩溃,可以拿从数据库当备用数据库,必要时切换为主数据库可以实现数据库层面的读写分离可以在从数据库上进行日常备份主从复制过程1、分别修改主从数据库的配置文件my.ini(linux上为my.cn...原创 2019-09-14 16:41:50 · 370 阅读 · 1 评论 -
ShardingSphere系列四(Sharding-JDBC内核原理及核心源码解析)
使用ShardingSphere提供的SPI扩展点,实现自定义分布式主键生成策略。原创 2023-05-08 23:50:59 · 800 阅读 · 0 评论 -
MySQL存储引擎(MyISAM 和 InnoDB 实现 B 树索引方式的区别)
存储引擎查看存储引擎数据库存储引擎是数据库底层软件,数据库管理系统(DBMS)通过存储引擎进行创建、查询、更新、删除数据。不同的存储引擎提供不同的存储机制、索引、锁等功能。MySQL的核心就是存储引擎。查看存储引擎MySQL 5.7的默认存储引擎是InnoDB;mysql> show engines;+--------------------+---------+---------...原创 2019-10-23 19:59:58 · 217 阅读 · 1 评论