Go语言技术文章
-
MySQL 默认只保留最近一次 InnoDB 用户事务死锁的状态信息。本文用一个最小排障闭环说明如何临时打开 innodb_print_all_deadlocks,把每次死锁写入 mysqld 错误日志,读取 victim、等待资源和 SQL,并在诊断结束后关闭开关。423 收藏 -
MySQL 的 redo log 和 binlog 都与事务提交有关,但它们记录的对象不同。本文按提交阶段拆开说明两者的先后关系,并给出 binlog_order_commits、mysqlbinlog 与 LSN 的排查方法。412 收藏 -
MySQL 不同表的 CHECK 约束名仍须在同一数据库内唯一。通过原创建表对比说明重名原因、元数据定位、表前缀命名与迁移回退注意事项。123 收藏 -
MySQL 底层列改为 INVISIBLE 后,旧视图仍可保留原列引用。通过独立 SQL 示例区分基表属性与视图接口,说明元数据排查、显式列名迁移和回退方式。300 收藏 -
MySQL invisible index 默认不参与优化器计划构建。本文用 SET_VAR 将 use_invisible_indexes 限定到单条 EXPLAIN 或查询,说明计划对比、影响范围和版本边界。111 收藏 -
MySQL 布尔全文检索的前缀匹配不是普通 LIKE 通配符。本文用 FULLTEXT 和 MATCH AGAINST 演示 +deploy* 的写法,说明索引列、布尔运算符、排序和空结果排查边界。108 收藏 -
数据库 · MySQL | 1天前 | MySQL · 性能监控 · InnoDB · mysql INFORMATION_SCHEMA INNODB_METRICS InnoDB监控 innodb_monitor_enable
MySQL INFORMATION_SCHEMA.INNODB_METRICS 查不到预期计数器时,先区分名称不存在、STATUS 为 disabled 和 COUNT 暂时不增长,再按最小范围启用并复查。本文说明计数器清单、运行时变量、重启后的默认状态以及关闭和重置边界。128 收藏 -
MySQL 一次性 EVENT 默认会在到期后清理,显式写 ON COMPLETION NOT PRESERVE 可以把这个意图固定下来。本文从 Event Scheduler 前置条件、AT 时间点、自动删除语义和排查方式说明如何创建一次性定时任务,并给出失败记录与保留对象的取舍。345 收藏 -
MySQL 按客户或订单组计算累计金额时,关键不是只写 SUM,而是同时固定 PARTITION BY、稳定的 ORDER BY 和窗口帧。本文给出可直接改造的累计求和写法,并说明 ROWS 与 RANGE、重复时间值、负数金额和组内总计的边界。336 收藏 -
rsa.PrivateKey.Validate 返回错误时,不要直接修改 N、D、P、Q 等字段。本文用不泄露私钥数值的诊断代码区分字段缺失、素数乘积与 N 不一致、E 不合法和原始密钥损坏,并给出重新解析 PKCS#1/PKCS#8 的修复路径。285 收藏 -
通过租户订单查询拆解 MySQL filesort 来源,区分访问索引与排序需求,说明联合索引列序、查询块定位、候选改动及回退方法。447 收藏 -
http.Server.BaseContext 的字段为 nil 与回调返回 nil 不是一回事:前者使用 context.Background,后者会在服务器开始接收连接前触发 panic。本文按启动时间线拆开这个边界,给出非空 Context 修复写法和回归测试。322 收藏 -
context.WithTimeout 超时后,子协程仍在运行通常不是超时失效,而是 goroutine 没有监听 ctx.Done(),或卡在无法取消的阻塞调用中。本文用最小复现区分取消信号和强制终止,再给出可退出、可清理的 select 写法。159 收藏 -
Go pprof.Lookup 返回 nil 时,优先检查 Profile 是否注册、名称是否逐字一致以及查找时机是否早于初始化。本文给出自定义 Profile 的注册、诊断和导出方法。378 收藏 -
ast.IsGenerated 依赖解析时保留的标准生成注释。通过解析模式、固定前后缀及标记位置的对照示例,说明返回 false 的常见原因与工具使用范围。457 收藏