MySQL 规范
下边分为建表规约、SQL 规约、索引规约三个部分,每部分的每一条都
有强制、建议两个级别,大家在参考时,根据自己公司的情况来权衡。
建表规约
【强制】:①存储引擎必须使用 InnoDB
解读:InnoDB 支持事物、行级锁、并发性能更好,CPU 及内存缓存页
优化使得资源利用率更高。
【强制】:②每张表必须设置一个主键 ID,且这个主键 ID 使用自增主
键(在满足需要的情况下尽量短),除非在分库分表环境下
解读:由于 InnoDB 组织数据的方式决定了需要有一个主键,而且若是
这个主键 ID 是单调递增的可以有效提高插入的性能,避免过多的页分裂、
减少表碎片提高空间的使用率。
而在分库分表环境下,则需要统一来分配各个表中的主键值,从而避免
整个逻辑表中主键重复。
【强制】:③必须使用 utf8mb4 字符集
解读:在 MySQL 中的 UTF-8 并非“真正的 UTF-8”,而 utf8mb4”才是真
正的“UTF-8”。
评论0