MySQL技术文章
-
用 HEX(WEIGHT_STRING(...)) 观察 MySQL 排序规则生成的二进制权重,区分字符字符串与二进制字符串,并掌握 AS CHAR、AS BINARY 的长度边界。492 收藏 -
MySQL FORMAT 的第三个参数 locale 会改变小数点、千分位符号和分组方式。本文用 en_US 与 de_DE 对比说明写法,并解释默认值、NULL、小数位和排序注意事项。443 收藏 -
SET DEFAULT ROLE 改的是账号的默认激活集合,主要影响下一次认证登录;已有连接不会自动切换。本文区分默认角色、当前会话和全量自动激活策略,并给出同一连接的核对方法。454 收藏 -
CURRENT_ROLE只显示当前会话激活的角色,不是全部授予清单。本文区分角色授予、默认策略与会话激活,给出同连接排查SQL,并说明连接池与状态提示容易混淆的地方。143 收藏 -
MySQL TO_BASE64 会在每 76 个编码字符后加入换行,FROM_BASE64 解码时会忽略换行等空白。本文说明 JSON、CSV 和自定义文本交换时怎样区分保留、转义与清理,避免把格式差异误判为数据损坏。209 收藏 -
MySQL FROM_BASE64 会忽略换行、回车、制表符和普通空格,但返回值仍是二进制字符串。本文说明何时可以直接解码、何时需要规范化输入,以及 NULL、非法字符和 URL-safe Base64 的处理边界。369 收藏 -
MySQL MAKE_SET 按位掩码与标签位置生成逗号字符串。通过通知渠道示例说明查询写法、零值与缺失值、NULL占位和未知位处理,避免调整参数顺序改变历史数据含义。281 收藏 -
MySQL EXPORT_SET 可以按低位到高位展开整数位掩码,但一次调用只能共用一组 on/off 文本。本文用按位与拆出单个位,再组合成缓存、审计、通知等不同标签,并说明分隔符、位数和边界值。400 收藏 -
说明 MySQL JSON_DEPTH 对标量、空容器以及对象和数组混合结构的嵌套层数计算方式,并区分最深路径、NULL 与非法 JSON。393 收藏 -
MySQL JSON_STORAGE_SIZE 统计的是解析后的二进制 JSON 表示,不是 JSON 文本字符数或字节数。本文用对比查询和部分更新示例说明三种长度的差异,并给出 JSON_STORAGE_FREE 的排查方法。164 收藏 -
MySQL SET_VAR hint 可以把 sort_buffer_size 等会话变量临时绑定到一条语句。本文用排序查询说明正确写法、语句级作用范围、EXPLAIN 与 SHOW WARNINGS 排查方法,以及变量不可设置和子查询忽略等边界。257 收藏 -
utf8mb4_0900_ai_ci 会把重音和大小写差异降到同一比较层级。本文用可复现 SQL 说明比较、索引、唯一约束与正则边界,并给出切换排序规则的判断方法。369 收藏 -
MySQL gap lock 保护索引间隙,锁定范围不一定等于 WHERE 条件范围。本文用 MySQL 8.4 InnoDB 双会话示例解释范围外插入等待,并给出锁依赖查询、释放方式及隔离级别调整的注意事项。191 收藏 -
从事务快照建立时机入手,解释 MySQL 默认 REPEATABLE READ 下普通 SELECT 为什么看不到其他会话刚提交的数据,并给出提交事务、READ COMMITTED 与锁定读的选择边界。499 收藏 -
MySQL JSON_UNQUOTE 用来去掉 JSON 字符串值的外层引号,并按 JSON 规则处理转义字符。本文从 JSON_EXTRACT 与 ->> 的差异切入,说明数组、对象、NULL、无效字符串和 NO_BACKSLASH_ESCAPES 的边界,帮助你把 JSON 标量安全交给 SQL 或应用层。209 收藏