Go语言技术文章
-
数据库 · MySQL | 4天前 | MySQL · 数据类型 · JSON · MySQL MEMBER OF MySQL JSON 数组成员判断 MEMBER OF 类型不匹配 JSON 数字字符串区别 MySQL JSON 查询
MySQL MEMBER OF 判断 JSON 数组成员时,数字、字符串和 JSON 对象不是同一种值。本文用最小样例说明类型不匹配的原因,并给出按数据域修正查询值、处理 NULL 与核对结果的办法。167 收藏 -
从 SHOW ENGINE INNODB STATUS、innodb_print_all_deadlocks 和 Performance Schema 的锁表与历史语句中,定位 MySQL 事务死锁对应的具体 SQL。167 收藏 -
Redis MEMORY USAGE 的 SAMPLES 不是精度百分比,而是嵌套集合成员的采样数量。本文解释默认值、SAMPLES 0、估算波动和容量规划时的取值方法。162 收藏 -
解释 Redis WATCH 监视键在 EXEC 前被修改时为什么返回 nil,并用双客户端示意、有限重试和边界清单处理乐观锁冲突。159 收藏 -
MySQL Invisible Index 不需要先删索引就能做灰度验证。本文从索引状态、默认优化计划、会话级 use_invisible_indexes 和性能证据四个方面说明配置、对照与回滚方法。156 收藏 -
Redis LPOS 的 rank 决定从头部还是尾部计数,maxlen 决定最多比较多少个列表元素;两者组合时,返回位置仍是原列表的零基索引。156 收藏 -
Redis EXPIRE 的 NX 只在 key 没有过期时间时设置 TTL,XX 只在 key 已有过期时间时设置 TTL。本文用 TTL、返回值和 redis-cli 示例说明两者的选择边界。153 收藏 -
MySQL 覆盖索引通过让过滤、排序和结果列落在同一索引中,减少回到聚簇数据页读取整行的机会。本文以订单列表为例,讲解投影收窄、联合索引设计、EXPLAIN 验收及写入成本控制。148 收藏 -
Redis Cluster 遇到 CROSSSLOT 时,先区分单键 pipeline 的跨节点分发和多键命令的跨槽约束。本文用 CLUSTER KEYSLOT、hash tag、同槽分组和 ClusterClient 示例说明如何拆分,并用批次、槽位、错误数和 P95 验证改造结果。135 收藏 -
MySQL 分区表查询没走分区裁剪时,先看分区表达式,再用 EXPLAIN 的 partitions 列确认扫描范围,最后把过滤条件改成可被优化器推导的分区键等值或范围。134 收藏 -
Redis 出现 NOPERM 时,先用 ACL WHOAMI 确认连接身份,再用 ACL GETUSER、ACL DRYRUN 和 ACL LOG 区分命令、键模式与认证问题,最后按最小权限修复。134 收藏 -
数据库 · MySQL | 4天前 | MySQL · JSON_CONTAINS MySQL JSON_OVERLAPS JSON 数组相交 MySQL JSON 类型比较 MySQL NULL 边界
MySQL JSON_OVERLAPS 判断 JSON 数组交集时,只需共享一个完整元素即可返回 1,但嵌套数组、对象、数字字符串类型以及 JSON null 和 SQL NULL 都有不同边界。130 收藏 -
MySQL CTE 物化后变慢,先用 EXPLAIN 确认合并或物化策略,再用 MERGE 与 NO_MERGE 对照过滤下推、临时结果和索引成本,最后按引用次数与查询结构选择方案。127 收藏 -
MySQL Performance Schema 查平均耗时时,应从 events_statements_summary_by_digest 读取 AVG_TIMER_WAIT,并按皮秒换算为毫秒。本文说明采集开关、查询写法、聚合边界和短窗口核对方法。125 收藏 -
MySQL invisible index 试验结束后,用 ALTER TABLE ... ALTER INDEX ... VISIBLE 恢复可见,再通过 IS_VISIBLE、SHOW INDEX 和 EXPLAIN 确认对象状态与执行计划。118 收藏