嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
目录
一、基础规范 3
1、【高危】使用InnoDB 存储引擎 3
2、【强制】表字符集使用utf8mb4 4
3、【强制】所有表所有字段都需要添加注释 4
4、【强制】单表数据量建议控制在500万以内 4
5、【高危】不在数据库中存储图、文件等大的二进制数据 4
6、【高危】尽量做到冷热数据分离,减小表的宽度 4
7、 【强制】禁止在线上做数据库压力测试 5
8、 【强制】禁止测试、开发环境直连数据库 5
二、命名规范 5
三、字段设计规范 6
四 分库分表、分区表设计规范 10
五、索引设计规范 10
0、索引的作用 10
1、【强制】单表的索引数建议不超过 5 个,单个索引中的字段数建议不超过 5 个 11
2、【强制】对字符串使用前缀索引,前缀索引长度不超过8个字符 11
3、【强制】主键准则 11
4、【建议】重要的SQL必须被索引,核心SQL优先考虑覆盖索索引 11
5、【建议】区分度最大的字段放在前面 12
6、【强制】业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引 12
7、【强制】InnoDB 和 MyISAM 存储引擎表,索引类型必须为BTREE 12
8、【强制】MYSQL 中索引的限制 12
六、SQL查询规范 13
1、【强制】按需索取,拒绝 select * 13
2、【强制】能确定返回结果只有一条时,使用 limit 1 13
3、【强制】涉及到复杂sql时,务必先参考已有索引设计,先explain 13
4、【强制】对应同一列进行 or 判断时,使用 in 代替 or 14
5、【强制】禁止使用 order by rand() 进行随机排序 14
6、【建议】WHERE从句中禁止对列进行函数转换和计算 14
7、【强制】不要使用 count(列名)或 count(常量)来替代 count(*) 14
8、【强制】不得使用外键与级联,一切外键概念必须在应用层解决 14
9、【强制】in 操作能避免则避免 15
10、【强制】超过三个表禁止 join 15
11、【建议】SELECT语句不要使用UNION,推荐使用UNION ALL 15
12、【建议】建议使用合理的分页方式以提高分页效率 15
附录 16
数值类型 16
日期和时间类型 17
字符串类型 17
MySQL之varchar的设计 18
1)存储限制 18
2)编码长度限制 19
3)表长度限制 19
位、字节、字符的区别 19
索引种类 20
较为规范的建表语句 22