MySQL技术文章
-
MySQL 时间范围查询没有用上索引,通常要从时间列是否被函数包裹、EXPLAIN 计划、复合索引顺序和优化器成本判断。本文用 DATETIME 半开区间给出排查与修复方法。139 收藏 -
介绍 MySQL InnoDB 中用 CAST(... AS ... ARRAY) 为 JSON 数组建立 multi-valued index 的写法,说明 MEMBER OF、JSON_CONTAINS、JSON_OVERLAPS 的适用条件,以及空数组、排序、覆盖索引和在线创建等边界。139 收藏 -
MySQL 窗口函数的执行计划要从 EXPLAIN FORMAT=JSON 的 windowing 节点读起。本文用累计金额示例核对分区、排序和 frame,并解释 using_filesort、临时表与缓冲字段的排查边界。130 收藏 -
用 MySQL GET_LOCK 给同一任务建立单实例执行入口,掌握返回值、连接生命周期、显式释放和占用排查方法。127 收藏 -
MySQL 用 ROW_NUMBER 取每组最新记录时,关键不是只写一个倒序,而是先用 PARTITION BY 划分分组,再用稳定的 ORDER BY 排名,最后在外层筛选 rn=1。本文还说明并列时间戳、过滤条件和 RANK 选择等边界。123 收藏 -
MySQL 直方图用列值分布辅助选择性估算,不等于索引。通过累积频率算例和 SQL,解释 ANALYZE TABLE、采样、rows 与 filtered,以及统计更新的适用边界。122 收藏 -
MySQL 降序索引不是给 ORDER BY DESC 随手加一个关键字就能生效。本文从 InnoDB 联合索引、WHERE 等值条件、混合 ASC/DESC 排序和 EXPLAIN 判断入手,说明怎样减少 filesort,以及哪些场景仍会反向扫描或无法使用降序索引。121 收藏