中间件与数据库:MySQL

深入剖析MySQL Buffer Pool

Buffer Pool 作为MySQL当中至关重要的一个组件,MySQL所有增删改的操作,都需要在 Buffer Pool 中执行。

一文读懂 MySQL 并行查询 & DDL

随着用户表上数据量的增加,一些SQL的执行时间会变得越来越长。比如一些需要全表扫描的查询SQL,数据扫描过程会耗费一定的时间,表越大时扫描时间越久。再比如一些创建二级索引、重建表的DDL操作,会扫描全表,并做排序操作,表越大时扫描和排序耗时都会比较久。

为提升SQL查询性能,MySQL社区于8.0.14推出了InnoDB并行扫描特性,可通过innodb_parallel_read_threads变量控制并行扫描聚簇索引的线程数量;于 8.0.27 支持并行创建索引,可通过innodb_ddl_threads控制创建二级索引的并行线程数量,加速索引创建过程。MySQL的并行当前仅限于InnoDB层对全表的一个并行。

本文以8.0.37代码为基准,对InnoDB层的这些并行技术做一些基本介绍、原理解析。

浅析MySQL Join Reorder算法

本文浅析了MySQL Join Reorder算法的流程,cost计算,剪枝算法等,希望通过本文能帮助大家了解MySQL优化器生成执行计划的具体流程。

咦~ MySQL怎么出现幻读啦!

InnoDB默认的事务隔离级别是REPEATABLE-READ,它为了解决该隔离级别并发情况下的幻读问题,使用了LBCC(基于锁的并发控制)和MVCC(多版本的并发控制)两种方案。其中LBCC解决的是当前读情况下的幻读问题,MVCC解决的是快照读情况下的幻读问题,那既然如此,该隔离级别下是否仍然还存在幻读的问题呢?幻读问题到底有没有完全解决呢?

MYSQL死锁-更新插入导致死锁

MySQL死锁问题大家或多或少都有了解,但是面对实际场景该如何排查呢,本文将通过实际的例子来带大家一起揭秘。

MySQL亿级数据平滑迁移实战

本文介绍了一次 MySQL 数据迁移的流程,通过方案选型、业务改造、双写迁移最终实现了亿级数据的迁移。

MySQL 索引合并优化实践

走单个二级索引还是走索引合并更快?

MySQL如何实现并发控制?(下)

解读「页级别、行级别的并发访问控制」。

MySQL 8.0:filesort 性能退化的问题分析

本文就用户将 RDS MySQL 实例从 5.6 升级到 8.0 后,发现相同 SQL 的执行时间增长了十几倍的问题逐步展开排查的过程记录下来。

Upgrading Uber’s MySQL Fleet to version 8.0

Learn all about our journey of successfully upgrading our MySQL fleet at Uber from v5.7 to v8.0, enhancing performance and reliability.

MySQL 5.7 DDL 与 GH-OST 对比分析

介绍MySQL5.7 DDL以及GH-OST的原理,从效率、空间占用、锁阻塞、binlog日志产生量、主备延时等方面,对比GH-OST和MySQL5.7 DDL的差异。

基于MySQL内核的SQL限流设计与实现

本文详细描述了基于MySQL内核的SQL限流功能的整体架构、主要功能模块等关键要素。SQL 限流的设计与实现基于原生MySQL的执行原理与字符串匹配规则实现。

一文了解MySQL索引机制

了解MySQL的朋友已经知道,现在MySQL默认使用的是InnoDB存储引擎,使用的是B+树索引数据结构。所以这个话题我们简单介绍,不作过多篇幅解释,只需了解为什么InnoDB选择B+树作为索引的数据结构。

深入探索MySQL索引策略

本文旨在深入探讨MySQL数据库中索引的设计与优化方法。

饿了么MySQL异地多活的数据双向复制经验谈

异地多活部署难?来跟饿了么高级架构师取取经!

数据特征采样在 MySQL 同步一致性校验中的实践

当前DTS应用中,MySQL数据同步使用到的数据一致性校验工具,并对它的实现思路进行分享。

Главная - Вики-сайт
Copyright © 2011-2024 iteam. Current version is 2.139.0. UTC+08:00, 2024-12-26 02:39
浙ICP备14020137号-1 $Гость$