MySQL技术文章
-
用 INFORMATION_SCHEMA.INNODB_TRX 找出当前 InnoDB 事务,按 TRX_STARTED 判断持续时间,再用 TRX_MYSQL_THREAD_ID 映射到连接,避免把只读会话、锁等待和已结束事务混为一谈。461 收藏 -
MySQL 分区表清理历史数据时,DROP PARTITION 为什么通常比逐行 DELETE 更快?本文从分区边界、索引与日志工作粒度解释差异,并给出执行前后的核对清单。461 收藏 -
MySQL 锁定服务用 namespace 与 lock name 组成标识,并支持读写锁;GET_LOCK() 只有一个命名字符串且始终是排他锁。本文用原创 SQL 对比两种命名粒度、释放范围和监控字段。460 收藏 -
MySQL 联合索引可以把不同列的 ASC 与 DESC 方向写进索引定义。本文用 InnoDB BTREE、WHERE 等值条件和 EXPLAIN 说明怎样设计混合排序索引,并区分正向扫描、反向扫描与 Using filesort。459 收藏 -
删除父表记录时突然变慢,先别急着改事务隔离级别。本文从锁等待、子表外键索引和级联删除三个现场信号入手,给出可复现的检查 SQL、修复顺序与回滚边界。458 收藏 -
数据库 · MySQL | 3星期前 | MySQL · InnoDB · 数据库运维 · mysql Threads 锁等待 data_locks performance_schema data_lock_waits INNODB_TRX 阻塞事务
MySQL 锁等待排查应先看 performance_schema.data_lock_waits,再连接 data_locks、innodb_trx 和 threads,区分等待事务、阻塞事务、锁资源与会话信息。本文给出查询路径,并说明空闲阻塞和现场快照的边界。458 收藏 -
删除一条订单主表记录时,如果外键触发级联检查,耗时可能来自子表扫描、级联删除和锁等待。本文用 InnoDB 示例拆开索引与锁范围。457 收藏 -
MySQL NDB事件订阅和普通SQL查询都能访问NDB数据,但职责完全不同:SQL主动读取当前快照,NDB API事件订阅等待数据变化。本文对比触发方式、结果形态、调用关系、ndbinfo观察入口、恢复重建和SQL补数边界,给出按任务选型的清单。457 收藏 -
MySQL 导入备份遇到 GTID_PURGED 冲突时,先比较备份 GTID 集与目标端 gtid_executed、gtid_purged、gtid_owned,再按新副本、已有实例或多份局部备份选择保留、注释或省略 GTID 元数据。455 收藏 -
用部门层级和类别树说明 MySQL 8.4 递归 CTE 的停止条件、cte_max_recursion_depth、循环引用检测与路径验收,避免层级查询卡住或重复展开。454 收藏 -
联合索引遇到中间列范围条件后,后列通常不能继续缩小同一个连续扫描区间。本文用键组顺序和 EXPLAIN 说明原因,并给出索引重排判断清单。454 收藏 -
SET DEFAULT ROLE 改的是账号的默认激活集合,主要影响下一次认证登录;已有连接不会自动切换。本文区分默认角色、当前会话和全量自动激活策略,并给出同一连接的核对方法。454 收藏 -
MySQL InnoDB 使用 READ COMMITTED 时,FOR UPDATE 和 FOR SHARE 只锁访问到的索引记录,不锁记录前后的间隙。本文比较唯一等值、范围查找、锁定读选项和幻读边界,帮助你判断实际会阻塞什么。453 收藏 -
解释 MySQL USER() 与 CURRENT_USER() 的身份差异,结合 user@host 匹配、匿名账户、SHOW GRANTS 和存储对象安全上下文定位权限误判。453 收藏 -
MySQL 事件已经创建却没有按时执行,通常要分开核对全局调度器、事件自身状态、创建时区和 DEFINER 权限。本文用一个可复查的小项目演示排查顺序,并补上重复触发与错误日志边界。452 收藏