MySQL技术文章
-
MySQL 已将 SQL_CALC_FOUND_ROWS 与 FOUND_ROWS() 标记为弃用。本文把传统分页写法拆成独立 COUNT(*),说明筛选条件复用、事务一致性、索引路径和接口返回契约。116 收藏 -
解释 MySQL USER() 与 CURRENT_USER() 的身份差异,结合 user@host 匹配、匿名账户、SHOW GRANTS 和存储对象安全上下文定位权限误判。453 收藏 -
用 CURRENT_ROLE() 查看 MySQL 当前会话活动角色,配合 SHOW GRANTS、SET ROLE 和 SET DEFAULT ROLE 区分授予关系、默认角色与真正生效的权限边界。248 收藏 -
说明MySQL列分布变化后的直方图更新与自动更新选项,提供统计标量查询,并介绍通过任务合并、缩小载荷和容器复用减少批处理冗余的边界。329 收藏 -
用一个 orders.status 示例说明 MySQL 8.4 直方图过期后的识别、手动重建、COLUMN_STATISTICS 查看、AUTO UPDATE 取舍与 DROP HISTOGRAM 回退。237 收藏 -
数据分布变化后,MySQL 直方图可能过期或查询不到。本文用 UPDATE HISTOGRAM 重建列统计,并通过 COLUMN_STATISTICS 与 EXPLAIN 区分更新失败、查询不适用和已有更优估算来源。430 收藏 -
MySQL InnoDB 在默认 REPEATABLE READ 下会对范围扫描使用 next-key lock,批处理更新因此可能阻塞间隙中的插入。本文从索引访问路径、隔离级别、批次边界和 Go 参数复用四个层面收窄等待范围,并区分数据库锁优化与应用内存优化。487 收藏 -
解释InnoDB范围保护为何影响索引列更新,给出双会话示例与锁等待关联查询,区分空结果、记录冲突和插入意向等待,并比较事务及隔离策略的代价。436 收藏 -
数据库 · MySQL | 4天前 | MySQL · InnoDB · 数据库排查 · mysql innodb 隔离级别 间隙锁 READ COMMITTED REPEATABLE READ next-key lock
用两个会话和一张带非唯一索引的测试表,说明 MySQL InnoDB 在 REPEATABLE READ 下为何因范围更新产生间隙锁等待,区分记录锁、间隙锁与 next-key lock,并比较唯一等值条件、READ COMMITTED 和缩短事务边界等修复方向。141 收藏 -
MySQL 存储程序里的 GET DIAGNOSTICS CONDITION 读到空错误信息,通常与 CURRENT、STACKED 诊断区和条件编号有关。本文给出先取 NUMBER、保存原始诊断字段,再回滚记录并 RESIGNAL 的排障写法。285 收藏 -
数据库 · MySQL | 4天前 | MySQL · 错误处理 · 存储过程 · 数据库开发 · mysql 存储过程 signal 业务错误 SQLSTATE MYSQL_ERRNO MESSAGE_TEXT
本文说明 MySQL 存储过程中怎样用 SIGNAL 抛出带 SQLSTATE、MYSQL_ERRNO 和 MESSAGE_TEXT 的可读业务错误,并介绍调用方如何区分业务拒绝与数据库故障。404 收藏 -
用 MySQL 递归 CTE 展开邻接表目录,分别说明树形数据、多父节点和环路数据的去重策略,并通过路径、索引、深度和行宽控制批处理中的中间结果与额外分配。367 收藏 -
用 MySQL 递归 CTE 展开层级目录时,先区分锚点、递归成员和连接方向,再用 depth、path、UNION DISTINCT 与路径防环处理重复节点和环路,最后按空结果、字段宽度和递归上限排查异常。400 收藏 -
使用MySQL递归CTE展开目录,给出路径成员防环与只按节点id去重的两种示例,说明字段宽度、父节点索引、深度上限及批处理失败边界。492 收藏 -
用 EXPLAIN 的 partitions 列确认 MySQL 分区裁剪结果,并用稳定的起止范围参数减少批处理代码的额外字符串与参数分配。217 收藏