MySQL技术文章
-
用同一条 SQL 固定更新前后口径,结合 EXPLAIN、SHOW INDEX 和 COLUMN_STATISTICS 判断 ANALYZE TABLE 是否改变了优化器计划,并给出统计信息异常时的回退思路。364 收藏 -
MySQL 组合索引不是把常用字段随意拼在一起。本文用等值条件、范围条件和排序三个场景说明列顺序如何影响扫描范围,并给出 EXPLAIN 验收方法。359 收藏 -
MySQL 联合索引缺少中间列时,后缀列通常不能像连续最左前缀一样直接定位,但可能参与索引条件检查。本文用执行计划区分查找、过滤与 Skip Scan,并给出索引调整判断方法。358 收藏 -
MySQL GTID 切换前不要只看延迟或最后编号,本文用 GTID_SUBSET、GTID_SUBTRACT、复制状态和备份检查点建立可执行的事务连续性检查清单。357 收藏 -
报表把一组订单号拼成一列时,GROUP_CONCAT 可能悄悄只返回前 1024 字节。本文从默认上限、会话级调整、字符数与字节数验收几处说明截断原因,并给出不把参数盲目调大的检查方法。353 收藏 -
讲清 MySQL LOAD DATA 导入 TSV 文件时 FIELDS TERMINATED BY、FIELDS ESCAPED BY、LINES TERMINATED BY 与 \N NULL 标记的对应关系,并给出列顺序、CRLF、字符集和 LOCAL 排障方法。352 收藏 -
MySQL 8.4 RESOURCE GROUP 可以把后台批处理会话放入独立资源组,通过 VCPU、THREAD_PRIORITY 和 SET RESOURCE GROUP 限制其对前台查询的影响。本文用一个可回滚的示例说明创建、绑定、核验与平台边界。349 收藏 -
用 MySQL 8.4 的 JSON_SCHEMA_VALID() 把 JSON Schema 放进 CHECK 约束,再用 JSON_SCHEMA_VALIDATION_REPORT() 和 SHOW WARNINGS 定位字段缺失、类型错误与范围越界。345 收藏 -
把连接字符集改成 utf8mb4 不会自动改变表和索引,但列字符集迁移可能让索引前缀的字节数重新触及 InnoDB 上限。本文给出区分连接设置、核算前缀和安全迁移的检查方法。344 收藏 -
用 MySQL LOAD DATA 导入 CSV 时出现列错位,通常不是表结构突然变化,而是字段分隔符、引号规则或 Windows 行尾与实际文件不一致。本文用可复现的订单导入例子定位并修正。339 收藏 -
从 INSTANT、INPLACE、COPY 和 LOCK 四个维度,判断 MySQL ALTER TABLE 是否会重建数据,并给出克隆表试跑和上线检查清单。339 收藏 -
MySQL 递归 CTE 不退出或结果越界时,检查递归成员的 WHERE 条件,再用递归深度、执行时间和 LIMIT 做安全保护。338 收藏 -
MySQL LOAD DATA 导入 CSV 时,FIELDS TERMINATED BY、ENCLOSED BY、ESCAPED BY 和 LINES TERMINATED BY 必须匹配文件生成规则。本文用带逗号、双引号和字段内换行的示例说明参数组合与检查方法。335 收藏 -
MySQL 大表使用 LIMIT offset,size 时,数据库往往仍要扫描并丢弃前面的记录,页码越深越慢。本文用订单列表说明游标分页如何配合复合索引、稳定排序和上一页游标,兼顾速度、重复记录与翻页边界。331 收藏 -
MySQL 分区裁剪不需要单独开关,关键是分区表达式与 WHERE 条件能否推导出有限的分区范围。本文用按日期 RANGE 分区的订单表说明半开区间写法,并通过 EXPLAIN 的 partitions、rows、type 和 key 排查裁剪与分区内索引访问。329 收藏