MySQL技术文章
-
MySQL LOAD DATA 导入含真实换行的 CSV 或分隔文本时,关键是同时对齐字段分隔符、字段包围符、转义符和行终止符。本文用多行文本示例说明 OPTIONALLY ENCLOSED BY 的边界、引号处理方式以及安全导入步骤。140 收藏 -
MySQL JSON_TABLE 用 FOR ORDINALITY 为展开后的数组元素生成从 1 开始的序号。本文说明一基与零基位置、嵌套数组中的父子序号,以及先展开后过滤和路径筛选对原始位置的影响。139 收藏 -
数据库 · MySQL | 3天前 | MySQL · 执行计划 · group by · sql优化 · 索引优化 · mysql group by 临时表 慢查询 联合索引 Using temporary
解释 MySQL GROUP BY 执行计划中的 Using temporary,区分临时表提示与磁盘溢出,并从排序组织、联合索引、左前缀和执行计划复查四个方面减少不必要的临时结果整理。134 收藏 -
MySQL 分区表查询没走分区裁剪时,先看分区表达式,再用 EXPLAIN 的 partitions 列确认扫描范围,最后把过滤条件改成可被优化器推导的分区键等值或范围。134 收藏 -
MySQL CTE 物化后变慢,先用 EXPLAIN 确认合并或物化策略,再用 MERGE 与 NO_MERGE 对照过滤下推、临时结果和索引成本,最后按引用次数与查询结构选择方案。127 收藏 -
判断 MySQL 派生表物化后是否溢出磁盘,不能只看 Created_tmp_disk_tables。本文从 EXPLAIN、tmp_table_size、TempTable 资源、Performance Schema 和 InnoDB 临时表空间五个证据点说明如何定位。126 收藏 -
MySQL 函数索引不生效,先对照索引表达式与 WHERE 谓词,再检查复合索引列顺序、覆盖列、回表和 EXPLAIN 计划。118 收藏 -
MySQL 窗口函数按时间排序遇到并列时,使用 ROW_NUMBER() 配合唯一键补序,并在外层筛选 rn = 1,即可稳定地每组只保留一条结果;文中同时比较 RANK() 与 DENSE_RANK() 的适用边界。109 收藏 -
MySQL 递归 CTE 的列类型只由非递归锚点推断。生成日期序列时显式 CAST 为 DATE,并把格式化文本移到 CTE 外部,可避免截断和严格模式报错。104 收藏 -
MySQL utf8mb4 排序规则报错时,先区分 1273 未知排序规则与 1267 排序规则混用,再检查连接会话、列定义和查询表达式,选择兼容的最小修复范围。101 收藏