MySQL技术文章
-
MySQL JSON 列只改一个路径时,使用 JSON_SET、JSON_REPLACE 或 JSON_REMOVE 让更新尽量保留原地部分更新条件,并用 JSON_STORAGE_FREE 和 PARTIAL_JSON 识别存储与复制日志边界。231 收藏 -
MySQL 的窗口函数执行信息不会完整出现在传统 EXPLAIN 表格中。本文从 query_block.windowing.windows[] 入手,说明如何读取函数、排序、临时表和窗口分组字段。311 收藏 -
MySQL JSON 路径索引通过固定路径和标量类型缩小候选行范围。本文对比 JSON_VALUE 函数索引与生成列索引,提供 SQL 示例,解释表达式匹配、选择性和文档读取成本。416 收藏 -
ONLY_FULL_GROUP_BY 并不是要求 SELECT 中每一列都重复写进 GROUP BY,而是要求未聚合列能被分组列唯一确定。本文用主键、非空唯一键、等值连接、单值过滤和表达式边界说明 MySQL 怎样识别函数依赖,以及查询被拒绝时如何安全改写。365 收藏 -
MySQL 不可见索引适合用来做删除前的影响试验。本文从索引边界、可见性切换、执行计划与真实工作负载观察四个方面说明怎样安全回滚,不把试验误当成删除。254 收藏 -
本文围绕 MySQL 派生条件下推,说明如何用 optimizer_switch 控制会话级默认行为,再用查询级 hint 精确覆盖单条语句,并结合 EXPLAIN 识别适用边界。358 收藏 -
查看 MySQL 组复制 GTID,应区分实例 UUID、组 UUID、本机已执行集合和全组提交统计。本文提供只读查询、成员关联与集合判断示例,说明字段含义及版本兼容边界。228 收藏 -
在 MySQL 中提取 GeoJSON 的 properties,应该使用 JSON_VALUE 或 JSON_TABLE;geometry 则交给 ST_GeomFromGeoJSON。本文用 Feature 和 FeatureCollection 示例说明两者的边界、查询写法与 SRID 注意事项。462 收藏 -
MySQL 窗口函数的执行计划要从 EXPLAIN FORMAT=JSON 的 windowing 节点读起。本文用累计金额示例核对分区、排序和 frame,并解释 using_filesort、临时表与缓冲字段的排查边界。130 收藏 -
数据库 · MySQL | 2星期前 | MySQL · JSON · 数据校验 · JSON_SCHEMA_VALID CHECK 约束 MySQL JSON Schema JSON 结构校验 JSON_SCHEMA_VALIDATION_REPORT
用 MySQL 的 JSON_SCHEMA_VALID() 先判断 JSON 文档是否符合对象结构,再用 JSON_SCHEMA_VALIDATION_REPORT() 定位 required、类型和范围错误,并说明 NULL、非法 JSON、$ref 以及 CHECK 约束中的处理边界。293 收藏 -
MySQL 直方图用列值分布辅助选择性估算,不等于索引。通过累积频率算例和 SQL,解释 ANALYZE TABLE、采样、rows 与 filtered,以及统计更新的适用边界。122 收藏 -
MySQL CTE 默认可能被合并进外层查询。需要固定中间结果处理方式时,可在顶层 SELECT 中使用 NO_MERGE(cte_name) 禁止合并,或使用 MERGE(cte_name) 表达合并意图,再用 EXPLAIN 检查计划变化。208 收藏 -
MySQL REGEXP_REPLACE 默认会替换所有匹配项;通过 pos 指定搜索起点、occurrence 指定匹配序号、match_type 指定匹配规则,可以只修改目标位置。本文用可复用 SQL 说明参数组合和常见边界。426 收藏 -
MySQL JSON_TABLE 不能直接把未知对象键名当成固定列读取。本文用 JSON_KEYS 取得键数组,再用 JSON_TABLE 展开 key/value 行,并说明 JSON_EXTRACT、JSON null、嵌套对象和性能边界。368 收藏 -
介绍 MySQL InnoDB 中用 CAST(... AS ... ARRAY) 为 JSON 数组建立 multi-valued index 的写法,说明 MEMBER OF、JSON_CONTAINS、JSON_OVERLAPS 的适用条件,以及空数组、排序、覆盖索引和在线创建等边界。139 收藏