1. MySQL 中 BLOB、TEXT、JSON 的差异?
请说明 MySQL 中 BLOB、TEXT、JSON 三种类型的差异?
- BLOB 二进制、TEXT 文本
- JSON 结构化与校验
- 索引与查询
BLOB 存储二进制数据(字节流,无字符集),TEXT 存储文本字符串(有字符集,会按字符集转换),JSON 存储 JSON 文档并自动校验有效性、可优化存储。BLOB/TEXT 有 TINY/MEDIUM/LONG 等级别,JSON 有原生 JSON 类型与函数(JSON_EXTRACT、-> 等)。JSON 支持虚拟列生成索引,BLOB/TEXT 做前缀索引。用途上:BLOB 存图片/文件,TEXT 存长文本,JSON 存半结构化数据。
三者按"二进制/文本/结构化"区分,JSON 比 TEXT 多校验与查询能力,是半结构化数据首选。