MySQL技术文章
-
以一条只读查询为例,解释 MySQL EXPLAIN ANALYZE 输出中 actual time 两个数分别代表什么,如何结合父子迭代器、rows 和 loops 判断真正耗时阶段。130 收藏 -
用 MySQL optimizer_trace 追踪 range_optimizer 的候选范围与决策原因,掌握会话配置、结果读取和内存边界。128 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 性能监控 · InnoDB · mysql INFORMATION_SCHEMA INNODB_METRICS InnoDB监控 innodb_monitor_enable
MySQL INFORMATION_SCHEMA.INNODB_METRICS 查不到预期计数器时,先区分名称不存在、STATUS 为 disabled 和 COUNT 暂时不增长,再按最小范围启用并复查。本文说明计数器清单、运行时变量、重启后的默认状态以及关闭和重置边界。128 收藏 -
MySQL CTE 物化后变慢,先用 EXPLAIN 确认合并或物化策略,再用 MERGE 与 NO_MERGE 对照过滤下推、临时结果和索引成本,最后按引用次数与查询结构选择方案。127 收藏 -
用 MySQL WITH RECURSIVE 从邻接表生成组织树,讲清根节点参数、层级字段、路径排序、终止条件、深度上限与循环防护,并给出可直接改造的 SQL。127 收藏 -
通过只读SQL查看MySQL NDB日志缓冲区占用,保留节点、日志类型与分区身份,计算占用率,区分备份行缺失和零占用,避免集群平均值掩盖局部差异。127 收藏 -
用 MySQL GET_LOCK 给同一任务建立单实例执行入口,掌握返回值、连接生命周期、显式释放和占用排查方法。127 收藏 -
判断 MySQL 派生表物化后是否溢出磁盘,不能只看 Created_tmp_disk_tables。本文从 EXPLAIN、tmp_table_size、TempTable 资源、Performance Schema 和 InnoDB 临时表空间五个证据点说明如何定位。126 收藏 -
MySQL 8.4 与当前 9.7 会解析窗口帧 EXCLUDE,却在执行时直接报错。本文解释 CURRENT ROW、GROUP、TIES 对移动聚合集合的标准语义,并给出在 MySQL 中用 SUM、COUNT、NULLIF 和显式同值行规则改写的可靠方法。126 收藏 -
MySQL Performance Schema 查平均耗时时,应从 events_statements_summary_by_digest 读取 AVG_TIMER_WAIT,并按皮秒换算为毫秒。本文说明采集开关、查询写法、聚合边界和短窗口核对方法。125 收藏 -
MySQL JSON_TABLE 单独用普通 PATH 取值时,字段缺失和 JSON null 都可能表现为 NULL;增加 EXISTS PATH 列记录路径是否出现,再结合取值列即可区分三种输入状态。124 收藏 -
数据库 · MySQL | 4星期前 | MySQL · 执行计划 · 查询优化 · 分区表 · mysql partition pruning 分区裁剪 RANGE COLUMNS EXPLAIN partitions
MySQL 分区裁剪看的是分区键条件能否被优化器化简为可判断的常量或范围。本文从分区定义、EXPLAIN 的 partitions 列、函数表达式和隐式类型转换入手,给出定位条件写法的排障路径。124 收藏 -
MySQL 不可见索引可通过单语句提示、会话开关或表级 VISIBLE 重新参与计划选择。本文区分三种作用域,给出原设置保留、计划对照和显式回退写法,说明候选索引并不保证最终命中。124 收藏 -
MySQL 用 ROW_NUMBER 取每组最新记录时,关键不是只写一个倒序,而是先用 PARTITION BY 划分分组,再用稳定的 ORDER BY 排名,最后在外层筛选 rn=1。本文还说明并列时间戳、过滤条件和 RANK 选择等边界。123 收藏 -
MySQL 不同表的 CHECK 约束名仍须在同一数据库内唯一。通过原创建表对比说明重名原因、元数据定位、表前缀命名与迁移回退注意事项。123 收藏