Go语言技术文章
-
MySQL ANSI_QUOTES 会把双引号内容解析为标识符。本文区分名称与字符串,说明会话配置、同名列误读风险及迁移写法,并提供保留原模式的临时表对照示例。279 收藏 -
MySQL 递归 CTE 的路径列要在锚点查询中先确定足够宽的字符类型,再由递归成员追加节点名称;本文给出写法、长度估算和排查边界。405 收藏 -
MySQL 使用 INSERT ... ON DUPLICATE KEY UPDATE 做幂等写入时,怎样区分新增、实际更新和重复值未变化?本文结合 affected rows、LAST_INSERT_ID、CLIENT_FOUND_ROWS 与多唯一键边界给出判断方法。181 收藏 -
数据库 · MySQL | 1天前 | MySQL · 执行计划 · 查询优化 · mysql Hash Join 哈希连接 EXPLAIN FORMAT=TREE block_nested_loop join_buffer_size
MySQL 8.4 默认会在可行时采用哈希连接,但是否生效取决于连接条件、可用索引、block_nested_loop 控制项和内存边界。本文从常见慢查询症状出发,说明如何判断候选条件并用 EXPLAIN FORMAT=TREE 复查。185 收藏 -
MySQL LOAD DATA 导入带表头 CSV 时,使用 IGNORE 1 LINES 跳过首行;同时配合 FIELDS、LINES、列清单和 LOCAL 选项,让逗号、双引号、换行、文件位置与权限保持一致。420 收藏 -
MySQL 多表 JOIN 中只想约束一张表时,应使用表别名限定 JOIN_INDEX 或 NO_JOIN_INDEX,并在嵌套查询中用 QB_NAME 明确作用域,最后通过 EXPLAIN 对比 key、访问类型和 rows。432 收藏 -
从 JSON 路径的返回类型、函数索引表达式和排序规则入手,说明怎样让 MySQL 查询真正匹配 JSON 函数索引,并给出 EXPLAIN 排查与生成列兼容方案。136 收藏 -
MySQL JSON_OVERLAPS 用于判断两个 JSON 文档是否存在共同内容。本文以数组交集为主线,说明它与 JSON_CONTAINS 的区别,并补充对象、标量、NULL、类型边界和多值索引方向。279 收藏 -
用 JSON_VALUE 的 RETURNING 明确结果类型,再分别处理路径缺失和类型转换异常,避免 JSON 标量在查询中被当成普通字符串。404 收藏 -
MySQL 按日期计算累计值时,默认 RANGE 会把同一天的记录视为同一组;需要逐行累计时使用 ROWS,并补充稳定排序键。本文用同一组数据对比 ROWS、RANGE 和日期区间窗口的适用边界。393 收藏 -
MySQL 按分组取前几条记录时,可在派生表中用 ROW_NUMBER() 为每组排序编号,再由外层过滤 rn。本文说明稳定排序、并列名次、索引和边界测试。230 收藏 -
Redis Sentinel 的下线判定要同时看时间阈值和 Sentinel 数量:down-after-milliseconds 决定单个 Sentinel 等多久,quorum 决定多少 Sentinel 同意故障。本文用三节点拓扑说明如何设置与复查,避免把检测阈值和客户端重连混为一谈。462 收藏 -
Redis Search 可通过 FT.SEARCH 的 TIMEOUT 设置单次查询预算,并结合 search-timeout 默认值和 search-on-timeout 策略判断返回部分结果还是失败。483 收藏 -
Redis Hash 适合平面字段和字段级读写,Redis JSON 适合嵌套对象、数组和路径级访问。本文从数据形状、更新粒度、查询能力、内存成本与生产迁移边界说明两者如何选择。277 收藏 -
Redis 分布式锁请求超时不等于加锁失败。本文区分请求、业务与租约期限,解释身份比较释放、续租失败、SDK 重试和 fencing 的职责,帮助处理未知结果并防止旧持有者迟到写入。425 收藏