MySQL技术文章
-
MySQL 已将 SQL_CALC_FOUND_ROWS 与 FOUND_ROWS() 标记为弃用。本文把传统分页写法拆成独立 COUNT(*),说明筛选条件复用、事务一致性、索引路径和接口返回契约。116 收藏 -
MySQL 空间范围筛选需协调空间列、SRID 与查询谓词。本文以 8.4 的点位表为例,说明经纬度轴顺序、MBR 候选条件和精确形状判断,以及旧表迁移注意事项。114 收藏 -
区分 MySQL VALIDATE_PASSWORD_STRENGTH() 的 0 到 100 评分、validate_password 密码策略检查与账号登录认证,按实例组件、策略变量、密码设置响应和 user@host 逐层排查。114 收藏 -
用 MySQL 8.4 的 authentication_policy 规划单因素与多因素账号,说明 caching_sha2_password、旧客户端兼容窗口和上线前登录验收方法。113 收藏 -
通过部门成绩同分示例比较 MySQL ROW_NUMBER 与 DENSE_RANK:前者适合每组固定取 N 行,后者适合保留前 N 个并列档位,并讲清稳定排序、CTE 外层筛选和 NULL 边界。112 收藏 -
说明 MySQL 如何用 ANALYZE TABLE DROP HISTOGRAM 删除指定列的过期直方图,区分 COLUMN_STATISTICS、索引统计和重新生成统计信息的适用场景。112 收藏 -
MySQL 主从切换后如何确认新主库已经追上指定事务?本文用 GTID 集合和等待函数组织一套可回滚的断点判断流程,覆盖超时、空集合和误判场景。111 收藏 -
MySQL invisible index 默认不参与优化器计划构建。本文用 SET_VAR 将 use_invisible_indexes 限定到单条 EXPLAIN 或查询,说明计划对比、影响范围和版本边界。111 收藏 -
MySQL 临时表不会因为事务 COMMIT 自动消失,它绑定创建它的客户端会话;连接池复用时要主动清理,避免旧数据污染下一次请求。110 收藏 -
围绕 MySQL 混合 ASC/DESC 排序说明降序索引避免 filesort 的条件,涵盖多列键序、WHERE 常量、InnoDB 限制、EXPLAIN 验证和索引取舍。110 收藏 -
MySQL GTID 自动定位可让副本按已执行事务集向新源请求缺失事务。本文给出候选源核对、SOURCE_AUTO_POSITION 切换命令、状态验收和已清理 GTID 的处理边界。110 收藏 -
把订单金额、状态和时间关系交给应用层校验,批处理或旁路写入仍可能留下脏数据。本文用 MySQL 8.4 CHECK 约束建立可落地的边界,演示新增约束前的存量检查、失败写入的错误定位、约束命名和回滚步骤,避免一次结构变更卡住发布。109 收藏 -
REPLACE INTO 遇到主键或唯一键冲突时,不是原地更新,而是先删除旧行再插入新行。本文用订单同步场景拆开执行语义、AUTO_INCREMENT、外键级联和更稳妥的替代写法。109 收藏 -
数据库 · MySQL | 2个月前 | 慢查询 · sql优化 · MySQL教程 · mysql explain EXPLAIN ANALYZE sort_buffer_size Using filesort
EXPLAIN 出现 Using filesort 只说明排序没有直接由索引完成,并不等于查询一定很慢。本文用订单列表场景拆开 filesort 的输入行数、排序缓冲区、临时文件和实际耗时,给出可复现的判断与优化顺序。109 收藏 -
MySQL 窗口函数按时间排序遇到并列时,使用 ROW_NUMBER() 配合唯一键补序,并在外层筛选 rn = 1,即可稳定地每组只保留一条结果;文中同时比较 RANK() 与 DENSE_RANK() 的适用边界。109 收藏