Mysql视频教程栏目介绍MySQL的开发规范
推荐(免费):mysql视频教程
基础规范
使用innodb存储引擎
表字符集使用utf-8
所有表添加注释
单表数据量建议控制在5000W以内
不再数据库中存储图、文件等大数据
禁止在线上做数据库压力测试
禁止测试、开发环境直连数据库
命名规范
库名表名字段名必须有固定的命名长度,12个字符以内
库名、表名、字段名禁止超过32个字符。须见名之意
库名、表名、字段名禁止使用MySQL保留字
临时库、表名必须以tmp为前缀,并以日期为后缀
备份库、表必须以bak为前缀,并以日期为后缀
库、表、字段开发设计规范
禁止使用分区表
拆分大字段和翻身顾问频率低的字段,分离冷热数据
用HASH进散表,表名后缀使进制数,下标从0开始
按日期时间分表需符合
YYYY[MM][DD][HH]
格式采用合适的分库分表策略。例如千库十表、十库百表等
尽可能不适用text、blob类型
用decimal代替float和double存储精确浮点数
越简单越好:将字符转换为数字、使用tinyint来代替enum类型
所有字段均为not null
使用unsigned存储非负数
int类型固定占有4字节存储
使用timestamp存储时间
使用int unsigned存储ipv4
使用varbinary存储大小写敏本文来源gaodai#ma#com搞@@代~&码*网2感的变长字符串
禁止在数据库中存储明文密码,把密码加密后存储
用好数值类型字段
类型
字节
最小值
最大值
tinyint
1
-128
127
smallint
2
-32768
32767
mediumint
3
-8388608
8388607
int
4
-2147483648
2147483647
bigint
8
-9223372036854775808
9223372036854775807
如果数值字段没有那么大,就不要用bigint
存储ip最好用int存储而非char(15)
不允许使用enum
避免使用null字段
null字段很难查询一花,null字段的索引需要额外空间,null字段的复合索引无效。
索引规范
单个表中的索引数量不超过5个
单个索引中的字段数不超过5个
对字符串使用前缀索引,前缀索引长度不超过8个字符
建议优先考虑前缀索引,必要可添加伪列并建立索引
表必须有主键