MySQL技术文章
-
查看 MySQL 组复制 GTID,应区分实例 UUID、组 UUID、本机已执行集合和全组提交统计。本文提供只读查询、成员关联与集合判断示例,说明字段含义及版本兼容边界。228 收藏 -
MySQL 选择了一个不符合预期的索引时,先用 EXPLAIN 看候选集合与估算行数,再用 USE INDEX 做受控对照。本文说明提示的作用域、与 FORCE INDEX 的差别,以及统计信息和上线风险。228 收藏 -
数据库 · MySQL | 2星期前 | MySQL · 复制 · 数据库运维 · 复制延迟 主从切换 MySQL GTID WAIT_FOR_EXECUTED_GTID_SET gtid_executed
用 WAIT_FOR_EXECUTED_GTID_SET 等待指定 GTID 集合在副本执行完成,讲清超时返回值、当前执行集合和切换前的判断边界。227 收藏 -
MySQL 存储过程中要读取刚刚执行的 UPDATE、INSERT 或 DELETE 影响行数,应在 DML 后立即使用 GET DIAGNOSTICS 变量 = ROW_COUNT 保存结果。本文说明诊断区、ROW_COUNT()、分支判断和常见边界。227 收藏 -
MySQL 的 ROLLBACK TO SAVEPOINT 会撤销保存点后的数据修改,但不会等同于释放锁。本文区分记录锁、间隙锁和事务结束边界,并用两个会话说明如何排查回滚后的阻塞。226 收藏 -
MySQL 不可见索引适合用来评估索引替代方案:先核对候选索引和基线计划,再让优化器暂时忽略它,结合 EXPLAIN、慢查询与工作负载判断是否仍有依赖,最后决定恢复、替换还是删除。226 收藏 -
递归 CTE 的安全上限不能只依赖 cte_max_recursion_depth。本文从故障场景出发,拆分业务深度、结果行数和执行时间三种边界,并给出 MySQL 的配置与复查方法。226 收藏 -
MySQL 命名窗口在同一查询块内复用分区、排序与帧规则,不是跨独立查询的持久对象。通过完整样本说明 WINDOW、OVER、窗口扩展及多报表共享口径的边界。226 收藏 -
给生产中的 InnoDB 大表新增二级索引时,先确认 ALGORITHM=INPLACE 与 LOCK=NONE 的适用边界,再用 metadata_locks、SHOW FULL PROCESSLIST 和索引状态检查锁窗口、失败回退与上线结果。224 收藏 -
针对日期分区查询中 DATE、YEAR 等函数包裹分区键的场景,给出半开区间改写、EXPLAIN 验证、时区边界与不适用条件。224 收藏 -
MySQL 在线备份恢复演练不能只看命令返回成功,还要在隔离实例中核对行数、主键范围、业务聚合值、触发器和存储程序,形成可复盘的恢复证据。222 收藏 -
MySQL 直方图不会因为每次写入自动按固定周期刷新。本文用 COLUMN_STATISTICS 判断数据漂移,比较手动刷新与 AUTO UPDATE,并给出采样率、执行计划和回滚检查清单。222 收藏 -
Retrieved_Gtid_Set 代表副本已经收到的 GTID 集,不等于已经执行。本文用 GTID_SUBTRACT 区分接收缺口与应用积压,给出可复核的复制状态排查方法。221 收藏 -
用 EXPLAIN 的 partitions 列确认 MySQL 分区裁剪结果,并用稳定的起止范围参数减少批处理代码的额外字符串与参数分配。217 收藏 -
MySQL 8.4 InnoDB 表空间加密不能只看建表语句:先核对密钥环组件和 ENCRYPTION 状态,再检查 INFORMATION_SCHEMA.INNODB_TABLESPACES,最后用一次受控重启确认恢复链路可用。216 收藏