随笔分类 - MySQL
摘要:MySQL备份恢复 1. MySQL 的备份方式2. 冷备3. 热备3.1 逻辑备份之 - mysqldump3.1.1 mysqldump语法如下3.1.2 mysqldump常见的参数3.1.3 mysqldump备份流程3.1.4 mysqldump常见用法3.2 逻辑备份之 - select
阅读全文
摘要:MySQL中一条SQL的加锁分析 id主键 + RC id唯一索引 + RC id非唯一索引 + RC id无索引 + RC id主键 + RR id唯一索引 + RR id非唯一索引 + RR id无索引 + RR Serializable 一条复杂的SQL 死锁原理与分析 SQL1:select
阅读全文
摘要:MySQL InnoDB 锁 介绍InnoDB的锁类型 Shared and Exclusive 锁 Intention 锁 Record 锁 Gap 锁 Next-Key 锁 Insert Intention 锁 AUTO-INC 锁 Predicate Locks for Spatial Ind
阅读全文
摘要:MySQL 查询优化之 Block Nested-Loop 与 Batched Key Access Joins 在MySQL中,可以使用批量密钥访问(BKA)连接算法,该算法使用对连接表的索引访问和连接缓冲区。 BKA算法支持:内连接,外连接和半连接操作,包括嵌套外连接。 BKA的优点:更加高效的
阅读全文
摘要:MySQL 查询优化之 Multi-Range Read MRR的工作原理 MRR开启与关闭 使用MRR示例 参考文档 在存储引擎中未缓存的大表,使用辅助索引的range scan检索数据, 可能会导致基表进行许多随机磁盘访问。 通过磁盘扫描多范围读取(MRR)优化,可以减少随机I/O,并且将随机I
阅读全文
摘要:MySQL 查询优化之 Index Condition Pushdown Index Condition Pushdown限制条件 Index Condition Pushdown工作原理 ICP的开启与关闭 使用ICP示例 Index Condition Pushdown (ICP)是MySQL使
阅读全文
摘要:从多表连接后的select count(*)看待SQL优化 一朋友问我,以下这SQL能直接改写成select count(*) from a吗? 废话不多说,直接上实验。 1. 准备数据 创建测试表a,b,c,并插入数据,a有重复数据,b是唯一数据,c是唯一数据,d有重复数据。 2. 数据查看 3.
阅读全文
摘要:MySQL执行计划 使用EXPLAIN优化查询 EXPLAIN输出格式 扩展EXPLAIN输出格式 使用EXPLAIN优化查询 EXPLAIN输出格式 扩展EXPLAIN输出格式 EXPLAIN 语法 1. 使用EXPLAIN优化查询 EXPLAIN语句提供有关MySQL如何执行语句的信息: EXP
阅读全文
摘要:MySQL表碎片整理 1. 计算碎片大小 2. 整理碎片 2.1 使用alter table table_name engine = innodb命令进行整理。 2.2 使用pt-online-schema-change工具也能进行在线整理表结构,收集碎片等操作。 2.3 使用optimize ta
阅读全文
摘要:MySQL InnoDB配置统计信息 1. 配置持久化(Persistent)统计信息参数 1.1 配置自动触发更新统计信息参数 1.2 配置每张表的统计参数 1.3 配置InnoDB优化器统计信息的采样页数参数 1.4 包含Delete-marked的记录参数 1.5 InnoDB持久化统计表 1
阅读全文
摘要:MySQL数据库文件 本文档从MySQL数据库和存储引擎层面介绍各种类型的文件。 参数文件(my.cnf) 错误日志(error log) 二进制日志文件(binary log) 慢查询日志(slow log) 全量日志(general log) 审计日志(audit log) 中继日志(relay
阅读全文
摘要:如何在MySQL中分配innodb_buffer_pool_size innodb_buffer_pool_size是整个MySQL服务器最重要的变量。 1. 为什么需要innodb buffer pool? 在MySQL5.5之前,广泛使用的和默认的存储引擎是MyISAM。MyISAM使用操作系统
阅读全文
摘要:MySQL安装示例数据库 本文档演示如何下载及安装MySQL示例数据库sakila及employees数据库 1. 安装sakila数据库 1.1 下载sakila数据库 1.2 解压 1.3 安装数据库 1.4 检查安装的数据库 1.5 查看数据模型 2. 安装employees数据库 2.1 下
阅读全文
摘要:MySQL redo log 与 binlog 的区别 什么是redo log 什么是binlog redo log与binlog的区别 什么是redo log 什么是binlog redo log与binlog的区别 1. 什么是redo log? redo log又称重做日志文件,用于记录事务操
阅读全文
摘要:MySQL sys Schema使用sys Schema的先决条件使用sys Schemasys Schema Progress Reportingsys Schema Object ReferenceMySQL 5.7.7及更高版本包括sys schema,这是一组...
阅读全文
摘要:InnoDB INFORMATION_SCHEMA Temporary Table Info TableINNODB_TEMP_TABLE_INFO提供有关InnoDB实例中当前活动的用户创建的InnoDB临时表的信息。它不提供有关优化程序使用的内部InnoDB临时表...
阅读全文
摘要:InnoDB INFORMATION_SCHEMA System Tables可以使用InnoDB INFORMATION_SCHEMA系统表提取有关InnoDB管理的schema对象的元数据。 此信息来自InnoDB内部系统表(也称为InnoDB数据字典),无法像常...
阅读全文
摘要:InnoDB INFORMATION_SCHEMA Metrics TableINNODB_METRICS表将所有InnoDB性能和资源相关计数器合并到一个INFORMATION_SCHEMA表中。15. INNODB_METRICSINNODB_METRICS表提供...
阅读全文
摘要:InnoDB INFORMATION_SCHEMA Lock Tables三张InnoDB INFORMATION_SCHEMA表使您能够监视事务并诊断潜在的锁定问题:INNODB_TRX:提供有关InnoDB中当前正在执行的每个事务的信息,包括事务状态(例如,它是否...
阅读全文
摘要:InnoDB INFORMATION_SCHEMA FULLTEXT Index Tables下表提供了FULLTEXT索引的元数据:mysql> SHOW TABLES FROM INFORMATION_SCHEMA LIKE 'INNODB_FT%';+-----...
阅读全文