
Mysql
文章平均质量分 75
乐之终曲
技术很多,路还很长
展开
-
InnoDB 引擎三大特性
InnoDB 引擎三大特性双写缓冲区(DoubleWrite Buffer)原理为什么要用双写缓冲区?AHI 自适应哈希Buffer Pool双写缓冲区(DoubleWrite Buffer)原理双写缓冲区是 InnoDB 引擎为了保证数据安全性,完整性而开发的双写缓冲区是在系统表空间中InnoDB 引擎会在磁盘上划分出连续的两个区的范围1个区包含64个页,一个页 16k,1个区 = 64x16 = 1024k = 1M因此一个双写缓冲区大小为两个 1M ,共 2M当我们写数据时,InnoD原创 2021-05-24 11:45:47 · 1705 阅读 · 3 评论 -
MySQL MVCC 底层原理总结
MySQL MVCC 底层原理总结什么是 MVCC?原理重要字段版本的组成什么是 ReadView?假如我再次修改,如何增加版本?判断当前数据是否可见的 4 大准则隔离级别如何进行事务控制的读未提交读已提交可重复读串行化什么是 MVCC?全称Multi-Version Concurrency Control,即多版本并发控制,主要是为了提高数据库的并发性能。每当数据在进行修改操作时,MySQL 会将所有的修改操作串联,形成一种数据的版本链条。根据事务隔离级别的不同,能够访问到的最新数据也不同,以此进行原创 2021-05-23 18:37:06 · 369 阅读 · 0 评论 -
MySQL 内部执行优化策略总结
MySQL 内部执行优化策略总结前言一、查询优化策略1. ICP 索引条件下推2. MRR 多范围读取优化(批量回表)3. 索引合并(1) Intersection 合并(2) Union 合并(3) Sort-Union 合并二、连接查询优化策略1. Join Buffer 优化三、 MySQL 查询重写1. 条件化简(1) 表达式计算(2) 移除不必要的括号(3) 常量传递(4) 移除没用的条件(5) 常量表检测2. 外连接消除3. IN 子查询优化(1) 物化表(2) 半连接 Semi-Joina.原创 2021-05-20 17:44:30 · 563 阅读 · 1 评论 -
MySQL 中 Innodb 引擎与 MyISAM引擎的差异
原创 2021-05-09 21:43:55 · 187 阅读 · 0 评论 -
MySQL 四种事务隔离级别
MySQL 四种事务隔离级别MySQL 事务的四个特性MySQL 的四大隔离级别Read Uncommitted(读未提交数据)Read Committed(读已提交数据)Repeatable Read(可重复读)Serializable(串行化)MySQL 事务的四个特性MySQL 事务都是指在 Innodb 引擎下,MyISAM 引擎不支持事务。原子性一致性持久性隔离性MySQL 的四大隔离级别Read Uncommitted(读未提交数据)显而易见,能够读取到,其他事务未提交的数原创 2021-03-05 14:45:59 · 199 阅读 · 1 评论 -
MySQL Group By 查询,错误1055
MySQL Group By 查询,错误1055错误原因解决方法方法1方法2方法3错误> 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘flowcenter_idm.m_flow_param.rank’ which is not f...原创 2019-12-10 09:53:37 · 445 阅读 · 0 评论 -
MySQL 教你如何最简单删除数据库中所有的表
mysql 教你如何最简单删除数据库中所有的表不带外键约束的表查询运行 SQL带有外键约束的表查询运行 SQL不带外键约束的表查询SELECT concat('DROP TABLE IF EXISTS ', table_name, ';')FROM information_schema.tablesWHERE table_schema = 'test';table_schema =...原创 2019-10-31 09:48:29 · 949 阅读 · 3 评论 -
MySQL 集群(一):Docker 搭建 MySQL,MySQL 主从同步搭建及踩坑
开始研究这个主要是公司的应用场景,数据库分为海内和海外,考虑到后面海量的数据以及压力,因此使用数据库集群。数据库集群方案主要分为两种Replication: 优点:异步复制,速度快,高效 缺点:数据弱一致性,比如:主库更新了,从库还没同步,然后从从库读的就是旧数据,不是更新后的新数据 应用场景:新闻,日志,发帖,历史数据(数据的正确性要求不高) PXC(Percona XtraDB ...原创 2019-07-05 15:49:24 · 4743 阅读 · 6 评论 -
MySQL 集群(二):Atlas 结合 Docker MySQL 实现读写分离与验证
本章基于:MySQL 集群(一):Docker 搭建 MySQL,MySQL 主从同步搭建及踩坑如果还需要主备切换等功能的建议: MySQL 集群(三):MySQL + Mycat 实现读写分离,主备切换集群由于是基于上一章,因此先说下此时的配置MySQL 主从同步:master:127.0.0.1:7000 slave:127.0.0.1:70011.下载 Atlas,安装...原创 2019-07-12 15:11:13 · 1120 阅读 · 0 评论 -
MySQL 集群(三):MySQL + Mycat 实现读写分离,主备切换集群
MySQL 集群(三):MySQL + Mycat 实现读写分离,主从切换下载 MycatMycat 主要文件Mycat 命令配置本章基于:本章基于:MySQL 集群(一):Docker 搭建 MySQL,MySQL 主从同步搭建及踩坑MySQL 主从同步:master:127.0.0.1:7000slave:127.0.0.1:7001下载 MycatMycat 官网我下的是 ...原创 2019-10-17 17:32:21 · 1475 阅读 · 0 评论 -
xml文件小于号大于号的处理
背景:在mybatis映射文件中书写sql where语句经常会用到大于小于号,如果直接用大于小于号就会报错解决办法1:xml特殊字符可以适用转义字符代替 < < 小...转载 2018-12-27 15:59:16 · 611 阅读 · 0 评论 -
java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required
java.sql.SQLNonTransientConnectionException: CLIENT_PLUGIN_AUTH is required at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:526) ~[mysql-connector-java-6.0.6.jar:6.0.6] at...原创 2019-07-12 10:39:37 · 2094 阅读 · 0 评论