
MySQL数据库
文章平均质量分 95
MySQL数据库
java_key_code
这个作者很懒,什么都没留下…
展开
-
MySQL核心揭秘:从查询到修改,彻底理解 Undo Log、Redo Log、Binlog 与 ACID 的关系
在当今数据驱动的时代,数据库系统作为信息存储和管理的核心组件,其性能和可靠性直接影响着应用的稳定性和用户体验。MySQL,作为最流行的开源关系型数据库管理系统之一,被广泛应用于各类互联网应用中。然而,许多开发者和数据库管理员对其内部机制知之甚少,特别是在事务处理和日志管理方面。事务的ACID特性(原子性 Atomicity、一致性 Consistency、隔离性 Isolation 和持久性 Durability)是保障数据库操作可靠性和数据一致性的关键。原创 2025-04-22 09:14:21 · 870 阅读 · 0 评论 -
详解MySQL查看执行慢的SQL语句(慢查询)
一般情况下,我们只需开启慢日志记录,配置下阈值时间,其余参数可按默认配置。在 MySQL 中,还可以设置将未走索引的SQL语句记录在慢日志查询文件中(默认为关闭状态)。long_query_time 的默认值为10,意思是运行10秒以上(不含10秒)的语句)。在MySQL中,日志输出格式有支持:FILE(默认),TABLE 两种,可进行组合使用。默认情况下,MySQL数据库没有开启慢查询日志,需要我们手动来设置这个参数。查看执行慢的SQL语句,需要先开启慢查询日志。原创 2024-07-21 16:00:28 · 3346 阅读 · 0 评论 -
MySQL:排序(filesort)详细解析
比如这里例子中我定义了a1varchar(300),那么它的计算长度 ≈ 300 * 2(600),为什么是*2呢,这应该是和Unicode编码有关,这一步可以参考函数my_strnxfrmlen_utf8。同时需要注意这里是约等于,因为源码中还是其他的考虑,比如字符是否为空,但是占用不多不考虑了。rows:排序的行数,也就是应用where过滤条件后剩下的行数。examined_rows:Innodb层扫描的行数,注意这不是慢查询中的Rows_examined,这里是准确的结果,没有重复计数。原创 2024-07-20 22:00:10 · 1604 阅读 · 0 评论 -
Optimizer Trace结果参数说明
的执行计划跟踪,一直是比较欠缺的能力。在仅有这两个索引的情况下,显然b索引的效率更高(实际是b字段的选择率更好),因此在choose部分,b字段索引显示为true。看个具体的示例,执行语句是“select e.*,d.* from emp e left join dept d on (e.deptno=d.deptno)”,如下图所示dept表作为左连接的右侧表,是依赖于左侧的emp表(编号为0)的。针对示例中,b和c字段的索引组合同样进行了评估,并且最终的评估结果还不错,比访问单一索引要小。原创 2024-07-19 17:30:30 · 846 阅读 · 0 评论 -
深入了解MySQL文件排序
本文我们以文件排序的整体概览开始,抛开实现细节,从全局角度了解了文件排序的整体逻辑。接着介绍了系统变量用于控制排序缓冲区大小,用于控制单个排序字段内容长度。排序模式 把排序字段(sort_key)和存储引擎返回给 server 层的字段都写入排序缓冲区或磁盘文件,每个字段都以其最大长度占用存储空间,存在在空间浪费。原创 2024-07-17 13:22:51 · 1146 阅读 · 0 评论 -
MySQL执行状态查看与分析
很重要的列MyISAMMEMORY线程正在处理语句。此状态发生在创建具有新结构的表之后,但在将行复制到其中之前。对于处于此状态的线程,性能架构可用于获取有关复制操作进度的信息。请参见第25.12.5节“性能架构阶段事件表”。ORDER BYGROUP BYMyISAMSELECT这发生在结束时,但在清除DELETEINSERTSELECT或UPDATE语句之前。对于end状态,可能会发生以下操作:表中的数据更改后删除查询缓存项将事件写入二进制日志释放内存缓冲区,包括BlobDELETE。原创 2024-07-16 21:32:20 · 2963 阅读 · 0 评论 -
Mysql系列-Binlog主从同步
mysql主从同步,即MySQL Replication,可以实现将数据从一台数据库服务器同步到多台数据库服务器。MySQL数据库自带主从同步功能,经过配置,可以实现基于库、表结构的多种方案的主从同步。可以对MySQL做主从架构并且进行读写分离,让主服务器(Master)处理写请求,从服务器(Slave)处理读请求,这样可以。原创 2024-07-08 09:37:13 · 1486 阅读 · 2 评论 -
MySQL之binlog日志
binlog 是什么binlog 配置和查看binlog 的类型binlog 如何恢复数据binlog 是逻辑日志还是物理日志binlog 作用原创 2024-07-08 07:59:16 · 1705 阅读 · 0 评论 -
MySQL-explain执行计划笔记
2.6 union: 分union与union all两种,若第二个select出现在union之后,则被标记为union;2.7 dependent union: 当union作为子查询时,其中第一个union为dependent subquery,第二个union为dependent union。表总共5条记录,user_id>=3未走索引,进行的是全表扫描,符合条件的最终结果只有一条,所以rows是5,filered是20(1/5)total_price列无索引,无法通过索引排序。原创 2024-06-14 13:54:53 · 871 阅读 · 0 评论