MySQL技术文章
-
MySQL 可用 JSON_OVERLAPS 判断两个 JSON 数组是否至少共享一个元素。本文以标签筛选说明数字与字符串、嵌套数组、SQL NULL 和空数组的区别,并给出只读 SQL 示例与查询回退思路。498 收藏 -
MySQL JSON_TABLE 展开数组后出现重复行,先检查行路径是否过宽,再用父表主键和各层 FOR ORDINALITY 组成稳定关联键。本文用订单与嵌套数组示例区分真实重复、路径问题和后续 JOIN 造成的重复。406 收藏 -
MySQL 使用 LAG 比较相邻记录时,分组首行没有上一条记录,默认返回 NULL。本文说明如何固定窗口顺序、使用 default,并区分真实 NULL 与首行缺失。303 收藏 -
MySQL 窗口函数取每组最新记录时,不能只按时间排序;应使用 PARTITION BY 划分分组,在窗口 ORDER BY 中用时间和唯一键组成稳定排序,再根据是否允许并列选择 ROW_NUMBER、RANK 或 DENSE_RANK。265 收藏 -
数据库 · MySQL | 3星期前 | MySQL · 数据库运维 · RESOURCE_GROUP Performance Schema MySQL RESOURCE GROUP CPU 资源 SET RESOURCE GROUP
MySQL RESOURCE GROUP 可以把服务器线程放进不同资源组,通过 CPU 亲和性和线程优先级做资源治理。本文用一个 USER 资源组示例,说明创建、绑定、读取归属和恢复默认组的边界。369 收藏 -
数据库 · MySQL | 3星期前 | MySQL · 主从复制 · 数据一致性 MySQL复制 replicate-wild-do-table 复制过滤 CHANGE REPLICATION FILTER
从库表白名单、语句与行复制差异、初始化快照和回滚路径四个方面,说明 MySQL 复制过滤怎样降低副本数据暴露与误同步风险。102 收藏 -
MySQL CTE 不一定物化。本文用 MERGE 与 NO_MERGE 对照 SQL,比较中间结果复用和生成成本,说明聚合与派生表的限制,以及执行计划中的性能判断方法。470 收藏 -
MySQL Instant DDL 不是所有列属性变更都能做到只改元数据。本文按支持条件、锁影响和回退路径区分改默认值、改名、改类型与 NULL 属性等操作,给出执行前检查清单。133 收藏 -
MySQL 直接重命名列会让仍使用旧字段名的 SQL 立即失效。本文区分 RENAME COLUMN 与 CHANGE,说明索引和外键的自动跟随范围,以及视图、存储程序、生成列和分区表达式的人工复核边界,并给出新增列、回填、双写和切换的兼容迁移方案。450 收藏 -
MySQL 空间范围筛选需协调空间列、SRID 与查询谓词。本文以 8.4 的点位表为例,说明经纬度轴顺序、MBR 候选条件和精确形状判断,以及旧表迁移注意事项。114 收藏 -
数据库 · MySQL | 3星期前 | MySQL · 主从复制 · 数据库运维 · 主从切换 MySQL GTID GTID自动定位 read_only super_read_only CHANGE REPLICATION SOURCE TO
MySQL GTID 主从切换时,真正容易出错的不是命令本身,而是执行集合、只读状态和应用连接没有同时切换。本文按切换前、角色提升、复制重挂和应用接入四个现场检查点,给出一份可复用的检查清单。391 收藏 -
MySQL 的 ALTER TABLE 即使使用在线 DDL,也可能在提交表定义时等待独占元数据锁。本文从 Waiting for table metadata lock 现象出发,结合 SHOW FULL PROCESSLIST、performance_schema.metadata_locks 和 threads 找到持锁会话,再把处理动作安排到合适的变更窗口。324 收藏 -
MySQL 直方图适合补充低基数列的分布信息,尤其是没有合适索引、但过滤值明显不均匀的查询。本文从 UPDATE HISTOGRAM、采样率、bucket 数量、AUTO UPDATE 和 EXPLAIN 判断五个方面说明如何配置及其边界。163 收藏 -
用 MySQL 隐形索引代替立即删除:先确认索引状态,再比较 EXPLAIN、慢查询和单语句计划,最后按证据恢复或安排 DROP INDEX。333 收藏 -
EXPLAIN FOR CONNECTION 读取的是目标连接当前正在使用的执行计划,不是重新估算一条 SQL;目标连接空闲、语句不可解释、使用预处理语句或权限不足时,就会出现空结果或报错。256 收藏