MySQL技术文章
-
MySQL invisible unique index 只改变默认优化器是否纳入索引,不会停止索引维护或关闭唯一约束。本文用重复写入、EXPLAIN、IS_VISIBLE 和隐式主键例外说明不可见索引的真实边界。335 收藏 -
GeoJSON 只是查询输入格式,真正参与空间索引的是带 SRID 约束的 GEOMETRY 列。本文用 MySQL 8.4 说明如何转换 GeoJSON、创建 SPATIAL INDEX,并用 MBR 候选条件配合精确空间关系完成查询。334 收藏 -
MySQL LAST_VALUE 受窗口 frame 限制;存在 ORDER BY 时,默认 frame 通常只到当前行。本文用显式 UNBOUNDED FOLLOWING、稳定排序键和 ROW_NUMBER 说明正确写法。333 收藏 -
MySQL 显式指定 ALGORITHM=INSTANT 时不支持就会报错,不会自动回退。本文给出按操作类型、表属性、并发与空间风险判断 INPLACE 或 COPY 的生产变更方法。333 收藏 -
MySQL 同一张表存在多个相同事件和时机的触发器时,默认按创建顺序执行。本文用 FOLLOWS、PRECEDES 固定 BEFORE UPDATE 链路,并给出复核与维护清单。333 收藏 -
MySQL NDB Cluster 8.4 用 ArbitrationRank 选择仲裁节点:0 表示不参与,1 表示高优先级,2 表示低优先级。本文从排查现场出发,给出管理节点、SQL/API 节点的配置关系,以及 Arbitration 覆盖、滚动重启和 ndbinfo 观察边界。333 收藏 -
用 MySQL 隐形索引代替立即删除:先确认索引状态,再比较 EXPLAIN、慢查询和单语句计划,最后按证据恢复或安排 DROP INDEX。333 收藏 -
MySQL 不可见索引可以在不直接删除索引的情况下测试优化器计划:先记录索引和 EXPLAIN,再将普通二级索引设为 INVISIBLE,最后用 use_invisible_indexes 做单条语句对照,依据计划、性能和约束影响决定恢复或删除。332 收藏 -
MySQL 大表使用 LIMIT offset,size 时,数据库往往仍要扫描并丢弃前面的记录,页码越深越慢。本文用订单列表说明游标分页如何配合复合索引、稳定排序和上一页游标,兼顾速度、重复记录与翻页边界。331 收藏 -
MySQL CREATE TABLE LIKE 会复制源表的列属性和索引,并保留生成列、表达式默认值与 CHECK 约束;但外键及部分目录表选项不会复制。本文用最小 SQL 说明保留边界,并给出结构核对方法。331 收藏 -
用 MySQL JSON_STORAGE_SIZE 读取 JSON 文档的二进制存储字节数,区分 JSON 文本长度、JSON 列原始空间与部分更新后的可复用空间,并说明 NULL、非法 JSON 和整表磁盘估算的边界。330 收藏 -
MySQL ST_ExteriorRing 从 Polygon 返回外环 LineString。本文用带洞多边形说明调用方式、外环与内环的区别、返回类型,以及 NULL、空几何、SRS 和错误几何类型的排查方法。330 收藏 -
MySQL 分区裁剪不需要单独开关,关键是分区表达式与 WHERE 条件能否推导出有限的分区范围。本文用按日期 RANGE 分区的订单表说明半开区间写法,并通过 EXPLAIN 的 partitions、rows、type 和 key 排查裁剪与分区内索引访问。329 收藏 -
用 RANGE COLUMNS 按月份组织 MySQL 分区表,先核对分区边界,再安全删除越过保留线的历史分区,并处理 MAXVALUE 分区的滚动维护。327 收藏 -
sys.schema_unused_indexes 只能说明当前统计周期没有记录到索引事件,不能直接等同于业务永远不使用。本文给出从观察周期、业务 SQL、执行计划到 invisible index 灰度验证的安全删除流程。327 收藏