MySQL技术文章
-
MySQL CHAR USING 为构造的字节结果指定字符集。通过 UTF-8 字节样例区分字节值与 Unicode 码点,并结合 HEX、长度、字符集和诊断信息定位解码差异。201 收藏 -
用 MySQL 递归 CTE 生成最小日期到最大日期的连续序列,再通过 LEFT JOIN 保留没有业务记录的日期,并用 COALESCE 将空聚合补成 0。201 收藏 -
MySQL 使用 REGEXP_SUBSTR 匹配带前缀文本时,返回的是完整命中而不是括号捕获组。本文解释返回边界,并用 REGEXP_REPLACE 回溯引用提取目标字段。199 收藏 -
MySQL 可用 WINDOW 子句集中相同窗口定义,并通过命名窗口复用分区和排序。本文给出累计与最近三行统计示例,说明相同排序、不同窗口帧、最终展示顺序及实际排序成本之间的区别。198 收藏 -
MySQL ST_Longitude 用于读取带地理空间参考系 Point 的经度。本文从 POINT 与 SRID 4326 开始,说明坐标轴顺序、ST_X 对照、可选参数和常见错误。198 收藏 -
MySQL 联合索引缺少前导列条件时,普通 range 访问难以直接定位后缀范围。本文用单表覆盖索引示例说明 SKIP_SCAN 提示的写法、适用条件、EXPLAIN 观察点、optimizer_switch 边界和提示被忽略时的处理方式。197 收藏 -
用 MySQL EXPLAIN ANALYZE 结合 actual time、rows、loops 与 Using temporary、Using filesort,定位临时表和排序的真实开销,再决定改 SQL 还是改索引。196 收藏 -
MySQL 直方图用于补充非均匀分布列的选择性估计。本文用 ANALYZE TABLE 配置桶数,从 COLUMN_STATISTICS 检查采样与更新时间,再用 EXPLAIN 对照实际行数并给出安全回退方法。195 收藏 -
根据固定行数与保留并列两种查询需求选择 MySQL ROW_NUMBER 或 RANK,解释唯一键、窗口排序与展示排序的区别,用完整 CTE 示例比较筛选后的结果行数。194 收藏 -
JSON_SET 只是 MySQL JSON partial update 的候选入口;同列读写、已有路径、替换值空间和 JSON 列类型任一条件不满足,都可能退回完整更新。本文还区分 JSON_STORAGE_FREE 与 row-based binlog 的 PARTIAL_JSON。192 收藏 -
数据库 · MySQL | 2个月前 | MySQL · CPU · 数据库 · MySQL 8.4 MySQL资源组 RESOURCE_GROUP RESOURCE_GROUP_ADMIN CPU限流
MySQL 8.4 的资源组可以把线程或单条 SQL 放进指定 CPU 资源边界,适合给报表、后台批处理和在线请求做隔离。本文用 RESOURCE_GROUP 语句与 RESOURCE_GROUP 优化器提示演示创建、绑定、检查和回滚,并说明权限与线程范围的限制。191 收藏 -
MySQL 递归 CTE 的安全做法不是盲目调大上限,而是先写清终止条件,再按单次查询设置 cte_max_recursion_depth,并用执行时间、行数和结果边界复查。191 收藏 -
MySQL gap lock 保护索引间隙,锁定范围不一定等于 WHERE 条件范围。本文用 MySQL 8.4 InnoDB 双会话示例解释范围外插入等待,并给出锁依赖查询、释放方式及隔离级别调整的注意事项。191 收藏 -
MySQL EXPLAIN ANALYZE 中的 loops 表示迭代器实际执行次数。本文结合 rows、actual time 和嵌套循环 JOIN,说明如何读懂它并定位估算偏差。190 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 事务 · InnoDB · 性能排查 · mysql innodb 锁等待 information_schema.innodb_trx 未提交事务
使用 INFORMATION_SCHEMA.INNODB_TRX 可以查看当前仍在 InnoDB 中执行的事务,本文说明如何读取事务状态、开始时间、连接 ID 和修改规模,并区分事务概况与锁关系排查。189 收藏