MySQL技术文章
-
MySQL 存储过程需要把参数校验失败和底层异常清楚地交给调用方时,可以用 SIGNAL 设置 SQLSTATE、MESSAGE_TEXT 与 MYSQL_ERRNO。本文从最小示例、handler、诊断区和排查边界说明怎样建立稳定的错误契约。347 收藏 -
数据库 · MySQL | 2天前 | MySQL · JSON · 数据库 · 查询优化 · mysql 索引 explain JSON json_extract 生成列 JSON_VALUE JSON_UNQUOTE
MySQL 的 JSON 列不能直接按普通列方式建立索引。本文以订单扩展属性为例,把稳定的 JSON 路径提取为有明确类型的生成列,再建立二级索引,并用 EXPLAIN 判断表达式、结果类型和实际索引选择是否匹配。475 收藏 -
MySQL GROUP_CONCAT 结果突然变短时,先检查 group_concat_max_len,再按字节估算选择 SESSION、GLOBAL 或单条语句设置,并同时留意 max_allowed_packet、排序、分隔符和 NULL 行为。443 收藏 -
用 MySQL sys.schema_index_statistics 按读取延迟和读取行数定位高开销索引,解释字段含义、排序方法、写入影响以及 Performance Schema 统计边界。372 收藏 -
MySQL 索引条件下推是否生效,不能只看查询用了索引。本文用 EXPLAIN 的 Extra、EXPLAIN ANALYZE 的 TREE 输出和 optimizer_switch,说明如何确认 Using index condition,并排查没有出现它的常见原因。188 收藏 -
MySQL JSON_TABLE 展开嵌套文档时,关键是把根数组、相对 NESTED PATH、缺失子数组和 FOR ORDINALITY 分开处理。本文用一份多层 JSON 说明如何稳定展开并避免行数误判。165 收藏 -
GeoJSON 只是查询输入格式,真正参与空间索引的是带 SRID 约束的 GEOMETRY 列。本文用 MySQL 8.4 说明如何转换 GeoJSON、创建 SPATIAL INDEX,并用 MBR 候选条件配合精确空间关系完成查询。334 收藏 -
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 收藏