MySQL技术文章
-
用 MySQL 8.4 EXPLAIN ANALYZE 对齐 rows、actual rows 和 loops,判断估算偏差、统计信息与慢查询热点。181 收藏 -
MySQL 使用 INSERT ... ON DUPLICATE KEY UPDATE 做幂等写入时,怎样区分新增、实际更新和重复值未变化?本文结合 affected rows、LAST_INSERT_ID、CLIENT_FOUND_ROWS 与多唯一键边界给出判断方法。181 收藏 -
MySQL LOAD DATA 导入包含换行的字段时,正确配置字段分隔符、引号包裹、转义字符和行结束符,并用警告与抽样查询确认数据没有错行。181 收藏 -
数据库 · MySQL | 3星期前 | MySQL · JSON · 数据库 · 数据校验 · mysql JSON Schema JSON_SCHEMA_VALID JSON 校验 CHECK 约束
MySQL 的 JSON_SCHEMA_VALID 返回 1、0、NULL 和错误分别代表什么?本文用原创 SQL 示例拆开 required、type、范围校验与 CHECK 约束的边界,并说明如何用验证报告定位失败字段。180 收藏 -
用重复排序值与数值间隔两个小实验,说明 MySQL 窗口函数中 ROWS 按行位置、RANGE 按排序值范围取框架,以及默认边界的常见误区。178 收藏 -
MySQL GET_FORMAT 按 DATE、TIME、DATETIME 与 USA、EUR、JIS、ISO、INTERNAL 模板返回格式字符串,并可配合 DATE_FORMAT 与 STR_TO_DATE 完成日期展示和解析。178 收藏 -
MySQL C API 处理动态 SELECT 结果时,不能先凭猜测创建 MYSQL_BIND。本文从 mysql_stmt_result_metadata 读取列数与字段类型,再按列配置缓冲区、绑定结果并处理 NULL、长度和截断。178 收藏 -
MySQL 按天统计时,直接按业务表分组会丢掉没有记录的日期。本文用 WITH RECURSIVE 生成日期序列,再 LEFT JOIN 订单数据并用 COALESCE 补 0,同时处理时间索引和递归上限。177 收藏 -
用 MySQL CHECK 约束限制 JSON 字段的对象类型、必需路径、字段类型和枚举范围,解释 SQL NULL、JSON null、缺失路径以及 UPDATE、IGNORE 的边界。177 收藏 -
MySQL 计算相邻记录时间差的通用写法:先用 LAG() 取上一条时间,再用 TIMESTAMPDIFF() 计算秒或分钟,并处理分组、首行、并列时间和 NULL。176 收藏 -
MySQL START TRANSACTION READ ONLY 限制的是当前事务对永久表的写入。本文用 SQL 和连接池代码说明普通查询、写入、锁定读、临时表以及提交回滚的边界。176 收藏 -
演示如何在不直接删除索引的情况下,把 MySQL 候选索引设为不可见,对比 EXPLAIN 与工作负载变化,并用单条查询临时恢复候选资格完成反向验证。175 收藏 -
MySQL NDB 中的 RedoBuffer、--logbuffer-size 和 EventLogBufferSize 都带有“日志缓冲区”字样,但它们服务的对象、分配粒度、容量含义和重启要求不同。本文用配置片段和故障现象说明为什么不能混用指标。175 收藏 -
MySQL 容量盘点不能只看一个总数。本文用 INFORMATION_SCHEMA.TABLES 区分 DATA_LENGTH、INDEX_LENGTH 与 DATA_FREE,给出按库汇总的查询,并解释 InnoDB、分区表和磁盘文件统计之间的边界。175 收藏 -
批量 UPDATE 不要只加 LIMIT:用可推进的索引范围固定每批数据,缩短事务锁持有时间,并为失败重试保留清晰边界。173 收藏