## 一、基本规范
* 禁止在数据库中存储明文密码
* 使用InnoDB存储引擎。
> 支持事务,行级锁,更好的恢复性,高并发下性能更好
> InnoDB表避免使用COUNT(*)操作,因内部没有计数器,需要一行一行累加计算,计数统计实时要求较强可以使用memcache或者redis
* 表字符集统一使用UTF8。
> 不会产生乱码风险
* 所有表和字段都需要添加中文注释。
> 方便他人、方便自己
* 不在数据库中存储图片、文件等大数据。
> 图片、文件更适合于GFS分布式文件系统,数据库里存放URL链接地址即可
* 避免使用存储过程、视图、触发器、事件。
> MySQL是OLTP应用,最擅长简单的增、删、改、查操作,但对逻辑计算分析类的应用,并不适合,所以这部分的需求最好通过程序来实现
* 避免使用外键,外键用来保护参照完整性,可在业务端实现。
> 外键会导致父表和子表之间耦合,十分影响SQL性能,出现过多的锁等待,甚至会造成死锁
* 对事务一致性要求不高的业务,如日志表等,优先选择存入MongoDB。
> 其自身支持的sharding分片功能,增强了横向扩展的能力,开发不用过多调整业务代码
- 说明
- Python编程规范
- Python风格规范
- Python语言规范
- Java编程规范
- 一、命名约定
- 二、常量定义
- 三、格式约定
- 四、OOP约定
- 五、集合处理
- 六、并发控制
- 七、控制语句
- 八、注释约定
- 九、异常日志
- 十、日志约定
- Android开发规范
- 前端开发规范
- HTML
- JavaScript
- CSS
- MySQL约定
- 一、基本规范
- 二、库表设计规范
- 三、字段设计规范
- 四、索引规范
- 五、SQL设计规范
- 六、业务字段命名规范
- 开发安全约定
- 一、代码安全
- 二、移动开发安全
- 三、服务器安全
- 四、安全意识
- 版本管理
- Git使用规范
- 技术实践及可视化
- 一、Code Review
- 二、单元测试
- 三、自动化测试
- 四、技术债
- 五、CI
- IOS开发规范