随笔分类 - MySQL
摘要:测试MySQL锁的问题 InnoDB支持三种行锁: Record Lock:单个行记录上面的锁 Gap Lock:间隙锁,锁定一个范围,但不会包含记录本身 Next-Key Lock:Gap Lock + Record Lock,锁定一个范围,并且锁定记录本身。 比如一个索引有10,11,13,20
阅读全文
摘要:Mysql8关于hashjoin的代码处理方式 1 表的Schema如下所示: create table t1( c1 int primary key, c2 int ); create table t2( d1 int primary key, d2 int ); insert into t1 v
阅读全文
摘要:container和image是两种不同的概念,image即指存在的镜像,container指docker运行起来后image的实例。 当使用docker kill 把某个正在运行的实例kill掉之后,再次运行,会提示: Error response from daemon: Conflict. T
阅读全文
摘要:Mysql优化(出自官方文档) 第十二篇(优化锁操作篇) [TOC] 1 Internal Locking Methods 这里介绍Mysql的几种锁,该锁由Mysql自行进行管理,用户不需要处理该锁。 Row Level Locking 对于InnoDB,行锁可以通过 语句进行获取,如果行锁中出现
阅读全文
摘要:Mysql优化(出自官方文档) 第十一篇(查询计划篇) [TOC] 1 EXPLAIN Output Format 由于EXPLAIN的内容较多,所以这里只会摘录一些重要的地方,详情可以 "参考原文" 。 EXPLAIN的结果解释: | Column | JSON Name | Meaning |
阅读全文
摘要:Mysql优化(出自官方文档) 第十篇(优化InnoDB表篇) [TOC] 1 Optimizing Storage Layout for InnoDB Tables 如果一个表的大小已经变得非常大了(M级别),那么使用 对表进行重组织和合并浪费的空间,该命令会拷贝表中的部分数据和重建索引。 在 中
阅读全文
摘要:Mysql优化(出自官方文档) 第九篇(优化数据库结构篇) [TOC] 1 Optimizing Data Size 通常来讲,定义表的时候,一个合理的数据类型,往往意味着更少的存储空间,更少的磁盘I/O,索引扫描也会更快,接下来将从五个方面来介绍如何进行这种优化: Table Columns 尽量
阅读全文
摘要:Mysql优化(出自官方文档) 第八篇(索引优化系列) [TOC] Optimization and Indexes 正确的创建索引往往会加快查询速度,但是,没有必要的索引往往只会浪费空间,并且增加插入,更新和删除的开销,因为进行这些操作要同时更新索引。 但是,索引并不是万能的,在下面的几个场景中,
阅读全文
摘要:Mysql优化(出自官方文档) 第七篇 [TOC] Optimizing Data Change Statements 主要涉及到三种操作: 和`DELETE` 1 Optimizing INSERT Statements 尽量将多次小操作合并为,这样子,就只会产生一次连接并且数据一次性发给服务器,
阅读全文
摘要:Mysql优化(出自官方文档) 第六篇 [TOC] Optimizing Subqueries, Derived Tables, View References, and Common Table Expressions 对于子查询,Mysql通常使用如下的优化方式: 对于 式的子查询,优化器使用如
阅读全文
摘要:Mysql优化(出自官方文档) 第五篇 [TOC] 1 GROUP BY Optimization 通常来讲,实现 的方式是创建一个临时表,然后按照 的列插入到临时表中,在进行后续处理,但是如果 的列均来自于同一个 (唯一或者二级索引),那么 会使用 来进行 处理。关于索引的使用方式,主要有两种:
阅读全文
摘要:Mysql优化(出自官方文档) 第四篇 [TOC] 1 Condition Filtering 在 中, 指从一个 中扫描出来的传递给下一个表的行,为了防止传递的行增长的过快,有时候,优化器会尝试提前对 进行过滤(比如将 中的条件提前等)。 有助于进行此操作的条件需要符合如下场景: 该过滤条件作用的
阅读全文
摘要:Mysql优化(出自官方文档) - 第三篇 1 Multi-Range Read Optimization(MRR) 针对的对象是二级索引,当使用二级索引进行多范围查找的时候,往往会导致对磁盘大量的随机访问,这就导致了局部性非常差,因此,Mysql在遇到这种场景的时候,首先会利用二级索引查找出所有的
阅读全文
摘要:Mysql优化(出自官方文档) 第二篇 [TOC] 1 关于Nested Loop Join的相关知识 1.1 相关概念和算法 Mysql在实现join的时候,采用的 技术,join的方式还有其他两种: 和``SortMergeJoin Nested Loop Join EXPLAIN``优化的结果
阅读全文
摘要:Mysql优化(出自官方文档) - 第一篇 1 WHERE Clause Optimization 1.1 从MySQL8.0开始,当where后面的数字超过类型范围的时候,将自动转换为where 1, 如: # CREATE TABLE t (c TINYINT UNSIGNED NOT NULL
阅读全文

浙公网安备 33010602011771号