MySQL技术文章
-
MySQL 多值索引没有可直接设置的每行数组元素数参数。本文区分业务长度约束与 65221 字节引擎硬边界,演示 JSON_LENGTH、CHECK 和超限后的拆表判断。166 收藏 -
MySQL 8.4 可以用 EXPLAIN FORMAT=JSON INTO 将 JSON 执行计划保存到当前会话变量,再用 JSON_EXTRACT 读取表名、访问类型、索引和估算字段;需要跨会话比较时再写入 JSON 列留档。299 收藏 -
MySQL 可用 WINDOW 子句集中相同窗口定义,并通过命名窗口复用分区和排序。本文给出累计与最近三行统计示例,说明相同排序、不同窗口帧、最终展示顺序及实际排序成本之间的区别。198 收藏 -
MySQL sys schema 适合做诊断入口,真正的 InnoDB 表空间容量可从 INFORMATION_SCHEMA.FILES 读取,再用 sys.format_bytes() 输出可读的已用与空闲空间。122 收藏 -
MySQL InnoDB 的 READ COMMITTED 可减少部分范围操作的间隙锁影响,但不会消除同记录写冲突。本文通过范围插入与已有记录更新的两会话示例,说明一致性取舍、下一事务设置和回滚清理责任。400 收藏 -
MySQL JSON_MERGE_PATCH 按 RFC 7396 语义合并 JSON 文档:同名键覆盖、JSON null 删除成员、嵌套对象递归合并,数组和标量则有明确边界。267 收藏 -
围绕二级索引变更说明 MySQL 在线 DDL 的算法、锁级别、长事务、临时空间与执行窗口规划。258 收藏 -
用 MySQL optimizer_trace 追踪 range_optimizer 的候选范围与决策原因,掌握会话配置、结果读取和内存边界。128 收藏 -
大 IN 列表的成本不只取决于参数数量,还取决于范围优化器要评估的组合规模。本文用 EXPLAIN、Warning 3170 和 optimizer trace 定位退化,并比较拆分查询与临时表 JOIN。244 收藏 -
MySQL 将索引设为 INVISIBLE 后,优化器默认不再使用它;如果 USE INDEX 或 FORCE INDEX 仍然点名该索引,查询会报错。本文给出确认状态、恢复可见和单次验证的处理边界。304 收藏 -
用 MySQL JSON_PRETTY 把对象、数组和标量整理成可读 JSON,说明缩进、NULL、非法 JSON、特殊字符和 JSON 列查询中的边界,避免把格式化文本误当成存储空间。395 收藏 -
说明 MySQL GET DIAGNOSTICS 如何区分语句信息和条件信息,并在存储程序中读取 SQLSTATE、错误号、消息文本及影响行数。318 收藏 -
从 MySQL EXPLAIN 的 partitions 字段判断分区裁剪,区分候选分区、索引、rows 和 filtered,避免把计划证据误读成实际耗时结论。464 收藏 -
MySQL INSERT IGNORE 不会让所有输入行都成功写入。本文用 ROW_COUNT、Records、Duplicates、Warnings 和 SHOW WARNINGS 区分新增行、重复键跳过与数据转换警告,并给出批量导入日志字段设计。448 收藏 -
介绍如何使用 ANALYZE TABLE 更新 MySQL histogram,并从 COLUMN_STATISTICS 确认桶数、采样率和自动更新策略,整个过程不修改表结构。386 收藏