MySQL技术文章
-
MySQL 隐形索引可用于观察查询失去某条索引后的影响,并保留恢复可见性的方式。本文给出 MySQL 8.4 示例,说明负载基线、执行计划、退化信号、恢复命令,以及维护成本、约束和物理删除的区别。500 收藏 -
MySQL 降序索引不是给 ORDER BY DESC 随手加一个关键字就能生效。本文从 InnoDB 联合索引、WHERE 等值条件、混合 ASC/DESC 排序和 EXPLAIN 判断入手,说明怎样减少 filesort,以及哪些场景仍会反向扫描或无法使用降序索引。121 收藏 -
MySQL SHOW WARNINGS 读取当前会话最近语句的诊断信息。本文用数据截断和隐式转换场景说明 warning_count、SHOW COUNT(*) WARNINGS、max_error_count、sql_mode 与 sql_notes 的区别,帮助定位警告为何出现或为何列表不完整。188 收藏 -
MySQL GTID 自动定位可以减少复制切换时对文件偏移量的人工计算,但前提是先确认 GTID 模式、复制线程和已执行事务集。本文给出从停写、选择候选副本、重指向下游到旧源回接的清单。313 收藏 -
MySQL 在线 DDL 仍可能在开始和结束阶段等待元数据锁。本文区分 lock_wait_timeout 与 InnoDB 行锁超时,说明 ALGORITHM、LOCK=NONE、会话级等待上限和 metadata_locks 排查方法。266 收藏 -
用同一会话打开 optimizer_trace,沿着 rows_estimation、range_analysis 和 considered_execution_plans 阅读 MySQL 的成本估算与访问路径选择。431 收藏 -
以消息档案JSON字段为例,说明如何约定字符串类型、建立生成列及索引、按列名检索,并处理路径变化、异常输入和更新维护。407 收藏 -
数据库 · MySQL | 3天前 | MySQL · 复制 · 数据库运维 · 复制延迟 主从切换 MySQL GTID WAIT_FOR_EXECUTED_GTID_SET gtid_executed
用 WAIT_FOR_EXECUTED_GTID_SET 等待指定 GTID 集合在副本执行完成,讲清超时返回值、当前执行集合和切换前的判断边界。227 收藏 -
用 MySQL invisible index 在不删除索引的前提下做索引下线和候选索引试运行,说明 use_invisible_indexes 的会话级、单语句控制与结果判断。425 收藏 -
MySQL InnoDB 使用 READ COMMITTED 时,FOR UPDATE 和 FOR SHARE 只锁访问到的索引记录,不锁记录前后的间隙。本文比较唯一等值、范围查找、锁定读选项和幻读边界,帮助你判断实际会阻塞什么。453 收藏 -
MySQL WITH RECURSIVE 查询组织层级时,递归成员必须用叶子节点条件自然停止,再用 LIMIT、cte_max_recursion_depth 和执行超时做资源保护。本文用员工上下级关系说明各层终止条件的职责。274 收藏 -
MySQL FORMAT_BYTES生成带单位的容量文本。通过原创只读SQL说明如何保留字节数排序、阈值筛选和合计,并约定NULL、接口精度与权限范围。243 收藏 -
用 MySQL REGEXP_INSTR 定位正则匹配的起点或结束位置,拆解 pos、occurrence、return_option、0 返回值与 NULL 边界。403 收藏 -
用固定集合说明MySQL GTID_SUBTRACT的参数方向、区间差集、双向比较和NULL处理,并区分GTID集合结论与业务数据一致性。287 收藏 -
用 MySQL LATERAL 派生表按每个外层客户筛选最近订单,说明引用边界、LEFT JOIN 空结果、稳定排序和索引设计要点。202 收藏