其乐融融的IT技术小站

MySQL

MySQL

MySQL 核心模块揭秘

0

其乐融融 发布于 2024/04/07 01:33:18

server 层会创建一个 SAVEPOINT 对象,用于存放 savepoint 信息。binlog 会把 binlog offset 写入 server 层为它分配的一块 8 字节的内存里。
InnoDB 会维护自己的 savepoint 链表,里面保存着 trx_named_savept_t 对象。

阅读()评论(0)赞 ()

MySQL

C# 连接操作 MySQL 数据库的技术详解

0

其乐融融 发布于 2024/04/07 01:33:16

在连接MySQL数据库之前,需要确保已经安装了MySQL服务器,并创建了需要操作的数据库。此外,还需要在C#项目中引入MySQL的官方.NET连接器——MySql.Data。这可以通过NuGet包管理器进行安装。

阅读()评论(0)赞 ()

MySQL

MySQL:BUG导致DDL语句无谓的索引重建

3

其乐融融 发布于 2024/03/27 01:33:04

对于5.7.23之前的版本在评估类似DDL操作的时候需要谨慎,可能评估为瞬间操作,但是实际上线的时候跑了很久,这个就容易导致超过维护窗口,甚至更大的故障。

阅读()评论(0)赞 ()

MySQL

如何解决由触发器导致 MySQL 内存溢出?

0

其乐融融 发布于 2024/03/26 01:33:14

根据官方的解释可以了解到,如果有许多大的触发器,参数 table_open_cache_instances 的默认值可能会造成内存使用过多。比如 table_open_cache_instances 设置为 16,那么表缓存会划分为 16 个 table instance。当并发访问大时,最多的情况下一个表的缓存信息会出现在每一个 table instance 里面。

阅读()评论(0)赞 ()

MySQL

MySQL的JOIN到底是怎么玩的

4

其乐融融 发布于 2024/03/16 01:33:14

MySQL通常采用嵌套循环(Nested-Loop Join)的方法来执行关联查询,具体而言,主要包括简单嵌套循环连接(Simple Nested Loop Join)、块状嵌套循环连接(Block Nested Loop Join)和索引嵌套循环连接(Index Nested Loop Join)这三种算法。

阅读()评论(0)赞 ()

MySQL

DBA面试题:MySQL缓存池LRU算法做了哪些改进?

2

其乐融融 发布于 2024/03/16 01:33:11

MySQL使用LRU(最近最少使用)算法来管理其InnoDB存储引擎的缓冲池(Buffer Pool),因为这种算法能有效地维护缓存页的使用频率和顺序。LRU算法通过淘汰长时间未被访问的数据页,确保缓冲池中存储的是最可能被再次访问的数据,从而提高数据检索的效率。

阅读()评论(0)赞 ()

MySQL

解惑MySQL:对int(1)与int(10)的认知误区

1

其乐融融 发布于 2024/03/15 01:33:03

int​后面的数字不能表示字段的长度,int(num)​一般加上zerofill​,才有效果。zerofill​的作用一般可以用在一些编号相关的数字中,比如学生的编号 001 002 ... 999​这种,如果mysql​没有零填充的功能,但是你又要格式化输出等长的数字编号时,那么你只能自己处理了。

阅读()评论(0)赞 ()

MySQL

如何在MySQL中读取日期范围内的日期

2

其乐融融 发布于 2024/03/13 01:33:09

当需要在MySQL中读取一个日期范围内的日期时,可以使用GENERATE_SERIES函数的方法。该方法通过子查询和交叉连接生成一个连续的数字序列,然后将其转换为日期序列。然后,你可以将生成的日期序列与其他表进行连接或者使用它们来进行其他操作。

阅读()评论(0)赞 ()

MySQL

MySQL的可重复读隔离级别和MVCC机制是什么关系,又是如何解决“幻读”问题的?

1

其乐融融 发布于 2024/03/11 01:33:05

产生幻读的原因是,行锁只能锁住行,但是新插入记录这个动作,要更新的是记录之间的“间隙”。因此,为了解决幻读问题,InnoDB 只好引入新的锁,也就是间隙锁 (Gap Lock),间隙锁是在可重复读隔离级别下才会生效的。

阅读()评论(0)赞 ()

MySQL

如何避免MySQL主从延迟带来的读写问题?

2

其乐融融 发布于 2024/03/09 01:33:15

MYSQL中提供了一个函数select master_pos_wait(file, pos[, timeout])​ 用于在slave上执行等待master节点上的位点同步完成,其中file,和pos是在master上的文件和位点,timeout 为了让master_pos_wait 函数在timeout秒内没有返回,则会直接触发超时返回。

阅读()评论(0)赞 ()

MySQL

准线上事故之MySQL优化器索引选错

13

其乐融融 发布于 2024/03/07 01:33:03

这篇文章是基于工作实际中碰到的问题,把问题产生的原因和解决思路总结了下。文中针对提到的一些索引选择差异情况我们结合了解到的优化器执行策略,使用trace工具进行了验证。优化器有一套非常复杂的算法策略,本人对于MySQL的理解深度有限,这里就不详细分析了,还需要继续学习。

阅读()评论(0)赞 ()