MySQL技术文章
-
MySQL 的 EXPLAIN 只估算执行计划,EXPLAIN ANALYZE 会真正运行语句并给出实际行数与耗时,因此测试时看起来更慢。本文用订单列表查询拆开两者的差异,说明如何读 actual time、如何避免把诊断开销误当业务耗时,并给出可回滚的线上验证边界。399 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 权限 · 性能排查 · mysql SHOW PROCESSLIST performance_schema.threads PROCESS权限 会话诊断
线上慢 SQL 需要先确认它属于哪个连接、卡在哪个阶段,再决定是否查看执行计划或终止会话。本文用 SHOW PROCESSLIST 与 performance_schema.threads 还原连接 ID、线程状态、权限边界和复核步骤。399 收藏 -
介绍 MySQL 8.4 资源组隔离报表查询 CPU 的实用配置:创建低优先级用户组,按会话、线程或单条语句分配,核对线程归属,并说明它与只读副本、SQL 优化及硬配额的边界。396 收藏 -
两张结构一致的订单表合并查询时,UNION ALL 与 UNION 的差别不只是有没有重复数据,还会影响去重、临时表和排序路径。本文用可复现实验拆开两者的边界,并给出选择与验收方法。395 收藏 -
用 MySQL 窗口函数按分组生成稳定行号,再通过 CTE 或派生表筛选组内分页;同时说明 ROW_NUMBER、RANK、DENSE_RANK 的并列差异。395 收藏 -
MySQL CHECK 约束可以先用 NOT ENFORCED 保留定义,再在清理存量脏数据后切换为 ENFORCED。本文用一张订单表串起状态识别、违规扫描、修复隔离和 ALTER CHECK 切换的完整迁移路径。395 收藏 -
复合索引不一定必须从第一列开始过滤。本文用订单明细查询说明 MySQL 8.4 Skip Scan 如何跳过索引前缀、什么条件下能被优化器选中,以及如何用 EXPLAIN、统计信息和会话级开关验收,避免把一次命中误判成长期方案。394 收藏 -
通过重复排序值和移动聚合案例说明 MySQL 窗口函数中 ROWS 与 RANGE 的结果差异,解释默认框架、peer rows、稳定排序键以及数值和时间范围的选择方法。394 收藏 -
数据库 · MySQL | 1个月前 | MySQL · 高可用 · 运维 · 性能排查 · mysql MySQL 8.4 复制延迟 replica_parallel_workers replication_applier_status_by_worker
MySQL 8.4 复制延迟不能只看 Seconds_Behind_Source。本文按接收、协调器、worker 和事务提交四段拆分现场,结合 SHOW REPLICA STATUS 与 Performance Schema 指标判断是大事务、并行度不足还是单个 worker 卡住。393 收藏 -
MySQL InnoDB 在线新增二级索引时,ALGORITHM 决定变更实现方式,LOCK 表达并发读写要求。本文用场景、决策表和 SQL 示例说明怎么选,以及哪些情况下应让变更直接失败。393 收藏 -
MySQL 8.4 InnoDB 修改大表列类型通常只能使用 ALGORITHM=COPY。本文从表副本、锁、磁盘、异步复制和原子 DDL 五个边界说明如何估算变更窗口与回退方案。393 收藏 -
围绕 MySQL wait_timeout 与客户端连接生命周期,说明如何配置 database/sql 连接池、设置安全余量、识别失效连接,并限制只读查询重试的边界。392 收藏 -
对比 MySQL CTE 合并与物化的执行方式,结合聚合查询、MERGE/NO_MERGE 提示和 EXPLAIN 检查,说明选择条件与常见边界。392 收藏 -
数据库 · MySQL | 1个月前 | MySQL · JSON · 数据库开发 · JSON_TABLE MySQL 8.4 JSON_TABLE NESTED PATH ON EMPTY ON ERROR JSON 数组展开
业务事件常被压在一列 JSON 数组里,直接用 JSON_EXTRACT 取值很快就会遇到多行展开、字段缺失和类型转换问题。本文用订单事件数组演示 MySQL 8.4 的 JSON_TABLE、FOR ORDINALITY、NESTED PATH 以及 ON EMPTY/ON ERROR 写法,并用行数与警告核对结果。390 收藏 -
批量接口遇到网络重试时,幂等键不能只停留在请求参数里。本文用批量导入订单场景说明请求级幂等、业务唯一约束和重复响应如何配合,并给出可核对的事务边界。390 收藏