- Mysql
遇到个MySQL索引长度限制的问题
了解完存储引擎和不同MySQL版本对索引长度的限制,我们以InnoDB引擎为例,看MySQL不同的字符集对索引长度有啥影响。...
- Mysql
MySQL 并发 replace into 导致 insert intention 与 gap lock 形成死锁
本文介绍一个在 pt-osc 执行期间发生的死锁案例,其实之前的文章 并发 replace into 导致 supremum X 锁与插入意向锁形成死锁 中也分析过相关案例,但由于理解...
- Mysql
如何在MySQL中实现数据的大规模并行处理和高速计算?
MySQL可以在一定程度上实现大规模数据的并行处理和高速计算,然而,对于极端的大规模并发场景或高度复杂的计算任务,可能需要进一步采用分布式数据...
- Mysql
Binlog数据恢复实战,删库不跑路
根据 MySQL 官方文档的介绍,开启 binlog 之后,大概会有 1% 的性能损耗,不过这还是可以接受的,一般来说,binlog 有两个重要的使用场景:MySQL主从复制时:...
- Mysql
为什么SQL查询以%开头索引就失效了呢?
今天我们来聊一下索引失效的问题,因为在开发的过程中,不光需要我们去写业务代码,有时候还可能会接手一些别人的代码,而别人写的一些 SQL ,可能...
- Mysql
MySQL 核心模块揭秘,你看明白了吗?
为了提升分配 undo 段的效率,事务提交过程中,InnoDB 会缓存一些 undo 段。只要同时满足两个条件,insert undo 段或 update undo 段就能被缓存。...
- Mysql
MySQL:BUG导致DDL语句无谓的索引重建
对于5.7.23之前的版本在评估类似DDL操作的时候需要谨慎,可能评估为瞬间操作,但是实际上线的时候跑了很久,这个就容易导致超过维护窗口,甚至更大的...
- Mysql
MySQL:Innodb 唯一索引出现重复值的场景分析
MySQL:Innodb 唯一索引出现重复值的场景分析:当我们进行数据插入的时候,对于唯一索引,实际上大概会经历数据查找,唯一性检查、数据插入三个阶段。...
- Mysql
慢SQL探秘之为什么我的SQL很慢却没记录在慢查询日志里
本文将总结一些比较常见的运行比较慢但不会被记录在慢SQL日志里的情况。另外,慢SQL的计算方式在MySQL8.0新版本中有变化,因此,将通过对比MySQL5.7(My...
- Mysql
如何解决由触发器导致 MySQL 内存溢出?
根据官方的解释可以了解到,如果有许多大的触发器,参数 table_open_cache_instances 的默认值可能会造成内存使用过多。比如 table_open_cache_instances 设置为 16,...
- Mysql
对线面试官 - 如何理解MySQL的索引覆盖和索引下推
当我们根据非聚簇索引查询的时候,会先通过非聚簇索引查到主键的值,之后,还需要再通过主键的值再进行一次查询才能得到我们要查询的数据。而这个...
- Mysql
从 MySQL 到 ByteHouse,抖音精准推荐存储架构重构解读
ByteHouse是一款OLAP引擎,具备查询效率高的特点,在硬件需求上相对较低,且具有良好的水平扩展性,如果数据量进一步增长,可以通过增加服务器数量来提...
- Mysql
真正线上索引失效的问题是如何排查的
在分析为什么一条SQL语句没有使用索引时,我们需要考虑到是否需要使用索引以及选择使用哪个索引是由MySQL的优化器决定的。优化器会根据成本估算做出...
- Mysql
MySQL 是如何保证 binlog 和 redo log同时提交的?
MYSQL 一个事务在提交的时候能够保证binlog和redo log是同时提交的,并且能在宕机恢复后保持binlog 和redo log的一致性。 先来看看什么是redo log 和binlog,以及为...
- Mysql
DBA面试题:MySQL缓存池LRU算法做了哪些改进?
MySQL使用LRU(最近最少使用)算法来管理其InnoDB存储引擎的缓冲池(Buffer Pool),因为这种算法能有效地维护缓存页的使用频率和顺序。LRU算法通过淘汰长时...
- Mysql
求求你别再用COUNT(*)判断数据存不存在了,很浪费资源的
在日常业务系统开发中,我们尝尝有这样的一个需求:判断某个值在数据库中是否存在。常见的做法之一是使用COUNT(*)或者COUNT(1)函数,但是,在仅需判断记...