Prompts-MCP 686 skills · ai / design / design-pattern / framework / fundamentals / habit / lang / tech-selection /mcp/sse
framework framework/mysql/schema/index.md medium

framework-mysql-schema-index

MySQL Schema 与字段设计 4 个独立决策点 — 数值/时间/金额类型选型、字符串类型选型、NOT NULL 与默认值、字符集统一 utf8mb4。Use when 建表选字段类型 / 评审 DDL 字段定义 / 排查字符集乱码或 JOIN 隐式转换时。

子项索引

子项 一句话
mysql-column-type-choice skill MySQL 数值/时间/金额字段选型 — 整型能小不大、布尔用 TINYINT、金额必用 DECIMAL 禁 FLOAT、时间在 DATETIME 与 BIGINT 时间戳间取舍
mysql-string-type-choice skill MySQL 字符串字段选型 — 定长用 CHAR、变长用 VARCHAR 并按实际估长度,大文本 TEXT/BLOB 拆出主表避免拖慢行扫描
mysql-not-null-and-default skill MySQL 列尽量 NOT NULL 加合理默认值 — NULL 让索引/聚合/比较语义复杂且占额外标记位,能给默认值就别留 NULL
mysql-charset-utf8mb4 skill MySQL 字符集统一 utf8mb4 — utf8 是阉割版存不下 emoji/4 字节字符,库表列与连接全用 utf8mb4,JOIN 两列 collation 须一致否则隐式转换使索引失效

MySQL · Schema 与字段设计索引

字段设计拆成 4 个独立决策点,按你正在做的事下钻:

你在做什么 进哪个
选数值/时间/金额字段类型 column-type-choice
选字符串字段类型(CHAR/VARCHAR/TEXT) string-type-choice
纠结某列要不要 NOT NULL、给什么默认值 not-null-and-default
定字符集/排序规则、排查乱码或 JOIN 隐式转换 charset-utf8mb4

链接