MySQL技术文章
-
以 MySQL 8.4 同会话采集为例,说明 optimizer_trace 的设置与恢复、候选路径和代价的阅读方式,以及截断、权限、局部 chosen 标记和运行耗时的判断界限。152 收藏 -
MySQL 递归 CTE 不应只靠 cte_max_recursion_depth 控制业务层级:先用 depth 条件正确结束递归,再用会话级参数设置安全上限,并说明全局参数与执行时间限制的边界。152 收藏 -
MySQL 直方图主要用于补充列值分布,帮助优化器估计常量比较的选择性。本文从无索引列、数据偏斜、索引优先级和统计新鲜度几个边界说明何时值得使用,并给出创建、查看和清理直方图的 SQL。151 收藏 -
用 MySQL Performance Schema 的语句摘要表按总耗时、平均耗时、调用次数和样例 SQL 找到最值得优先处理的慢 SQL,并识别摘要容量不足造成的 NULL 汇总行。150 收藏 -
MySQL CTE 可以把复杂筛选或聚合子查询命名后重复引用,本文用订单统计场景说明 WITH 的组织方式、列名与作用域边界,以及合并和物化对执行计划的影响。150 收藏 -
数据库 · MySQL | 1星期前 | MySQL · 数据库 · DDL · 迁移 · InnoDB · mysql innodb ALTER TABLE INSTANT ADD COLUMN 在线DDL 表结构变更
MySQL 8.4 中 ADD COLUMN 默认优先使用 INSTANT,但表属性、组合变更、行大小和生成列仍会改变支持边界。本文给出显式判断、错误分流和上线前检查方法。149 收藏 -
从同一物理连接的会话变量出发,分清 MySQL 普通字面量、列排序规则和 COLLATE 优先级,通过对照 SQL 定位大小写比较及混用排序规则异常,并选择正确修复边界。149 收藏 -
MySQL 覆盖索引通过让过滤、排序和结果列落在同一索引中,减少回到聚簇数据页读取整行的机会。本文以订单列表为例,讲解投影收窄、联合索引设计、EXPLAIN 验收及写入成本控制。148 收藏 -
MySQL GIS 的 ST_Distance_Sphere 返回两个 Point 或 MultiPoint 在球面上的最小距离,单位是米。本文从经纬度顺序、默认半径和 SRID 入手,给出计算公里数、筛选半径内记录以及处理边界值的写法。148 收藏 -
MySQL 分区表出现跨分区扫描时,先检查 WHERE 是否直接约束分区键,再区分 RANGE、RANGE COLUMNS 与 KEY 分区的裁剪边界,最后用 EXPLAIN 的 partitions 字段确认查询范围。146 收藏 -
MySQL 锁定服务用命名空间与锁名的组合标识锁。本文用业务域示例说明二者如何划分、读写锁和超时怎样配合,以及如何通过 Performance Schema 查看实际状态。146 收藏 -
MySQL Enterprise Audit 默认全量记录时,审计日志很快会被健康检查和后台账号淹没。本文用 audit_log_filter_set_filter 按事件、用户和查询统计字段收窄范围,并给出安装前提、赋值、回滚与验收方法。145 收藏 -
MySQL 角色并不等于自动最小权限:默认角色、通配符授权和库级权限叠加后,账号可能读到不该读的数据。本文用实际授权链拆解越权路径,说明 partial revokes 的边界,并给出可回滚、可审计的验收清单。145 收藏 -
MySQL Histogram 统计信息不会随每次数据变更自动持续更新,过期后可能让优化器误判过滤率、rows 和访问路径。本文用 COLUMN_STATISTICS、EXPLAIN 与 ANALYZE TABLE 给出判断、重建和回滚边界。145 收藏 -
CURRENT_ROLE只显示当前会话激活的角色,不是全部授予清单。本文区分角色授予、默认策略与会话激活,给出同连接排查SQL,并说明连接池与状态提示容易混淆的地方。143 收藏