MySQL技术文章
-
MySQL WITH RECURSIVE 查询组织层级时,递归成员必须用叶子节点条件自然停止,再用 LIMIT、cte_max_recursion_depth 和执行超时做资源保护。本文用员工上下级关系说明各层终止条件的职责。274 收藏 -
从执行计划异常出发,说明如何用 ANALYZE TABLE 刷新 InnoDB 索引统计信息,并区分执行状态、统计变化与查询计划变化。272 收藏 -
以MySQL 8.4 InnoDB单SKU库存预留为例,对比RC、RR与FOR UPDATE、FOR SHARE的组合,给出事务内扣减与异常回滚示例,并说明权限、连接池及幂等重试边界。271 收藏 -
MySQL 在线 DDL 仍可能在开始和结束阶段等待元数据锁。本文区分 lock_wait_timeout 与 InnoDB 行锁超时,说明 ALGORITHM、LOCK=NONE、会话级等待上限和 metadata_locks 排查方法。266 收藏 -
MySQL ST_GeometryN 用于读取 GeometryCollection 中按 1 开始编号的指定几何对象。本文从集合长度、成员提取、WKT 展示和 NULL/非法输入边界入手,给出可直接改写到查询中的 SQL。264 收藏 -
MySQL 的 TABLE 语句可以用一行 SQL 直接读取整张表的可见列和行,还能配合 ORDER BY、LIMIT 与 OFFSET 控制结果。本文通过最小写法和边界排查说明它与 SELECT 的区别。260 收藏 -
用 MySQL sys.list_add 为 sql_mode 等逗号分隔配置追加一项,说明参数、写回会话变量、重复值与空列表边界,以及采用前应核对的权限和回滚点。259 收藏 -
MySQL SET_VAR hint 可以把 sort_buffer_size 等会话变量临时绑定到一条语句。本文用排序查询说明正确写法、语句级作用范围、EXPLAIN 与 SHOW WARNINGS 排查方法,以及变量不可设置和子查询忽略等边界。257 收藏 -
MySQL 不可见索引适合用来做删除前的影响试验。本文从索引边界、可见性切换、执行计划与真实工作负载观察四个方面说明怎样安全回滚,不把试验误当成删除。254 收藏 -
用 MySQL GTID_SUBSET 判断空事务集合、非空集合和 NULL 的差异,再用 GTID_SUBTRACT 定位实际缺失事务。250 收藏 -
用 MySQL STATEMENT_DIGEST 生成稳定归并键,再结合规范化文本、代表 SQL 和聚合指标,把只改变字面量的同形 SQL 归到同一类。246 收藏 -
MySQL FORMAT_BYTES生成带单位的容量文本。通过原创只读SQL说明如何保留字节数排序、阈值筛选和合计,并约定NULL、接口精度与权限范围。243 收藏 -
MySQL CHECKSUM TABLE 可以同时返回两张表的数据摘要,用于备份前后、迁移后或同实例副本的快速差异筛查。本文说明 QUICK 与 EXTENDED 的适用边界、摘要相同与不同的正确解读,以及视图、版本和存储引擎带来的误区。233 收藏 -
MySQL 的 utf8mb4 只决定字符如何编码,大小写是否视为相等由排序规则 collation 决定。本文用 _ci、_cs、_bin、_ai、_as 后缀拆解选择逻辑,再说明默认规则、列级定义、查询级 COLLATE、唯一索引和 PAD 属性的边界。232 收藏 -
MySQL 窗口函数重复写分区和排序时,可以用 WINDOW 子句定义命名窗口并在多个 OVER 中复用。本文说明完整复用、追加排序与窗口帧的写法,以及同类属性冲突和最终展示排序的边界。232 收藏