MySQL技术文章
-
MySQL FORMAT_PICO_TIME 接收 Performance Schema 的皮秒计时值,自动选择 ps、ns、us、ms、s、min、h 或 d 输出可读字符串。本文说明查询写法、单位阈值、NULL 与旧 sys.format_time 的差异。425 收藏 -
MySQL 的 derived_merge 默认允许优化器把派生表合并进外层查询块。本文说明怎样只在当前会话临时关闭它、如何查看与恢复设置,以及为什么 EXPLAIN 计划有时仍不会改变。423 收藏 -
MySQL 不可见索引适合在删除二级索引前做可回退验证:先记录查询计划和工作负载基线,再切换 INVISIBLE,通过 EXPLAIN、Performance Schema 与慢查询日志对比影响,最后按业务阈值恢复可见或进入删除评审。422 收藏 -
MySQL NDB 的磁盘表并不是把所有列都移出内存:索引和索引列仍需保留在内存,非索引列才适合放入 Disk Data。本文用最小 DDL 说明表级与列级 STORAGE 的划分,以及容量估算时容易忽略的边界。422 收藏 -
MySQL 分区表查询仍扫描全部分区时,可从 EXPLAIN 的 partitions 列、条件表达式、分区键类型与分区方式逐层定位,并用日期范围示例完成修复。420 收藏 -
MySQL LOAD DATA 导入带表头 CSV 时,使用 IGNORE 1 LINES 跳过首行;同时配合 FIELDS、LINES、列清单和 LOCAL 选项,让逗号、双引号、换行、文件位置与权限保持一致。420 收藏 -
MySQL EXPLAIN 的 rows 是优化器估算值,不等于实际扫描量。本文用 EXPLAIN ANALYZE 对照 actual rows、loops 和耗时,再通过 ANALYZE TABLE、直方图与索引检查定位偏差。419 收藏 -
MySQL JSON 路径索引通过固定路径和标量类型缩小候选行范围。本文对比 JSON_VALUE 函数索引与生成列索引,提供 SQL 示例,解释表达式匹配、选择性和文档读取成本。416 收藏 -
MySQL 联合索引没有命中时,按最左前缀、等值与范围条件、表达式写法和 EXPLAIN 字段逐层判断,区分索引无法使用与优化器主动选择全表扫描。415 收藏 -
用 MySQL GTID_SUBSET 判断一组事务是否已包含在另一组 GTID 集合中,并结合 GTID_SUBTRACT 定位缺少的事务。415 收藏 -
MySQL Skip Scan 不是复合索引的默认补救方案。本文用单表覆盖索引、前缀等值条件、后续范围条件和 EXPLAIN 结果,整理判断它是否会被优化器采用的步骤。413 收藏 -
本文用一个订单报表示例说明 MySQL CTE 如何按筛选、聚合和展示关联拆分复杂查询,并解释 EXPLAIN、合并与物化之间的关系。413 收藏 -
数据库 · MySQL | 4天前 | MySQL · 事务 · mysql insert RETURNING AUTO_INCREMENT ON DUPLICATE KEY UPDATE LAST_INSERT_ID
MySQL 8.4 的 INSERT 语法没有 RETURNING。本文从语法报错出发,说明新插入行、重复键更新和多行插入怎样用同一连接的 LAST_INSERT_ID() 与主键 SELECT 读取完整行,并整理连接池、事务和显式 ID 的边界。410 收藏 -
以消息档案JSON字段为例,说明如何约定字符串类型、建立生成列及索引、按列名检索,并处理路径变化、异常输入和更新维护。407 收藏 -
MySQL 函数索引常写显式 CAST,是为了把表达式结果收敛为可索引的数据类型和长度。本文以 JSON 文本提取为例,说明隐藏生成列、LONGTEXT 限制、排序规则匹配及迁移检查方法。406 收藏