-
MySQL 的 ST_GeomFromText 用 WKT 文本创建空间对象,第二个参数可以指定 SRID。本文从 POINT、LINESTRING、POLYGON 的写法讲到空间列入库,再用 ST_AsText 和 ST_SRID 回读,重点说明 WKT 与 POINT() 函数的格式差异。
-
MySQL WITH ROLLUP 可以在分组明细后一次生成产品小计、国家小计和总计。本文从单列总计讲到多列层级,用 GROUPING() 区分真实 NULL 与汇总 NULL,并说明 WHERE、HAVING、ORDER BY 和 LIMIT 的使用边界。
-
MySQL REGEXP_LIKE 返回 1、0 或 NULL,用于判断字符串是否匹配正则表达式。本文从 LIKE 与正则的区别讲起,说明 match_type 的大小写和换行控制,并整理 NULL、转义、字符集与 WHERE 查询中的排查方法。
-
派生表并不是天然阻止所有下推。本文区分派生条件下推与 Index Condition Pushdown,说明合并、物化、EXPLAIN 判断和适用边界。
-
MySQL 查询偶尔选择 Index Merge 时,可以用 NO_INDEX_MERGE optimizer hint 在单条语句范围内临时关闭索引合并。本文比较 optimizer_switch、无索引参数和指定索引参数的写法,并说明如何用 EXPLAIN 判断提示是否真正改变访问路径。
-
MySQL Performance Schema 的 events_statements_history_long 默认可能未开启。本文说明 setup_consumers 的层级开关、动态启用方式、启动时容量设置、查询最近已结束语句的方法,以及查不到记录时的排查顺序。
-
MySQL JSON_CONTAINS_PATH 用来判断 JSON 文档中的一个或多个路径是否存在。本文用最小 SQL 说明 one 和 all 的区别,并梳理 0、1、NULL、JSON null、非法路径以及 WHERE 条件中的常见误用。
-
Redis FUNCTION DELETE 会删除整个库及库内全部函数。本文说明库名与函数名的区别、删除后 FCALL 失效的判断方法、从受控源码恢复的命令,以及集群部署和权限隔离的注意事项。
-
Redis Cluster 的 MOVED 提示槽位路由需要更新,ASK 则用于迁移中的单次请求。本文说明两者区别、ASKING 的连接范围,并用只读命令排查客户端模式、槽位拓扑和重定向目标不可达问题。
-
Redis Sentinel 故障转移后,不要只凭一个地址判断成功。本文用当前主节点地址、实例角色和配置纪元三类信息,说明怎样确认切换已经完成。
-
用 keyspace notification 实时观察 Redis 被 maxmemory 淘汰的键名,再用 INFO stats 的 evicted_keys 做累计核对,覆盖单机、断线和 Cluster 边界。
-
Redis RESP3 并不是把数组随机改成 map,而是协议版本决定了命令返回类型。本文用 HGETALL 说明 RESP2 与 RESP3 的原始差异、HELLO 协商方式、客户端解码边界以及不能依赖 map 顺序的兼容性注意事项。
-
Redis SETRANGE 按零基偏移覆盖字符串片段,key 不存在时按空字符串处理,偏移超过当前长度会补零字节。本文说明返回长度、字节偏移、go-redis 错误处理和大偏移的使用边界。
-
Redis HINCRBYFLOAT 遇到不存在的 Hash 字段时会按 0 参与浮点递增并写回结果。本文区分直接累计、显式基线、非法数值和错误 key 类型,并给出 go-redis 的错误处理写法。
-
Redis SET 可以用 NX 只在 key 不存在时写入,并用 EX 或 PX 同时设置过期时间,适合实现短生命周期幂等锁。本文说明抢锁返回值、唯一 token、安全释放和单实例适用边界。