Go语言技术文章
-
MySQL 默认表达式引用其他列建表失败时,重点检查括号、依赖列定义顺序、AUTO_INCREMENT 和表达式默认值的适用边界,并用两次 INSERT 复查计算时机。410 收藏 -
Redis GEO 附近搜索可用 GEOSEARCH 的 ASC、WITHDIST 和 COUNT 获取距离有序候选,但营业状态、分类、库存等业务条件需结合独立元数据过滤。本文给出 GEO 集合加 Hash、Pipeline 批量读取、过量召回和扩圈补足的完整实现。410 收藏 -
数据库 · MySQL | 20小时前 | MySQL · 事务 · mysql insert RETURNING AUTO_INCREMENT ON DUPLICATE KEY UPDATE LAST_INSERT_ID
MySQL 8.4 的 INSERT 语法没有 RETURNING。本文从语法报错出发,说明新插入行、重复键更新和多行插入怎样用同一连接的 LAST_INSERT_ID() 与主键 SELECT 读取完整行,并整理连接池、事务和显式 ID 的边界。410 收藏 -
Redis Sentinel 切主后客户端频繁重连,通常要从主观下线、+switch-master 事件、服务发现和连接池旧连接四个边界排查;本文给出一次可回滚的定位路径。409 收藏 -
从全局 TempTable 内存、单表临时表上限和溢出路径三个角度,说明如何读取并设置 MySQL temptable_max_ram,再用状态变量与 Performance Schema 判断调整是否有效。409 收藏 -
Redis Stream 消费者在 XREADGROUP 后处理失败,消息会停留在消费组 PEL。本文用 XPENDING 定位 pending,再比较 XCLAIM 与 XAUTOCLAIM 的接管方式,并说明何时 XACK、如何避免短暂延迟造成重复处理。408 收藏 -
MySQL JSON_VALUE 可以直接参与表达式索引。本文以订单 payload 中的 customer_id 为例,说明如何用 RETURNING UNSIGNED 固定类型、用双括号创建索引、让 WHERE 表达式保持兼容,并处理缺失键、JSON null 与转换错误。406 收藏 -
MySQL CTE 变慢时,先确认优化器选择了合并还是物化,再用 NO_MERGE、MERGE 和 SESSION 级 derived_merge 做对照,最后用 optimizer_trace 找到物化代价来自哪里。406 收藏 -
MySQL 函数索引常写显式 CAST,是为了把表达式结果收敛为可索引的数据类型和长度。本文以 JSON 文本提取为例,说明隐藏生成列、LONGTEXT 限制、排序规则匹配及迁移检查方法。406 收藏 -
MySQL JSON_TABLE 展开数组后出现重复行,先检查行路径是否过宽,再用父表主键和各层 FOR ORDINALITY 组成稳定关联键。本文用订单与嵌套数组示例区分真实重复、路径问题和后续 JOIN 造成的重复。406 收藏 -
用 Redis SLOWLOG LEN 和 SLOWLOG GET 找到慢命令,读懂耗时与参数字段,再根据阈值和容量配置进行安全排查。406 收藏 -
MySQL 8.4 复制过滤看似配置正确却漏表时,重点核对 replicate-wild-do-table 的库表模式、语句中是否显式提到目标表、数据库级规则优先级和复制线程实际加载的配置。405 收藏 -
MySQL 深分页变慢,通常不是 LIMIT 取几十行的问题,而是 OFFSET 让服务器先定位并丢弃前面的大量记录。本文用稳定联合排序和游标条件改写下一页查询,并说明如何用 EXPLAIN 判断索引是否真正接住了边界。405 收藏 -
MySQL 递归 CTE 的路径列要在锚点查询中先确定足够宽的字符类型,再由递归成员追加节点名称;本文给出写法、长度估算和排查边界。405 收藏 -
围绕 MySQL JSON 数组成员检索,说明多值索引的 CAST 定义、查询匹配、EXPLAIN 验证,以及空数组、NULL、JSON null 和大数组边界。404 收藏