高性能可扩展mysql-数据库设计规范

数据库设计规范
高性能可扩展mysql-数据库设计规范
每个公司都有自己数据库的规范
1数据库命名规范
1。1所有数据库对象名称必须使用小写字母并用下划线分割
1。2所有数据库对象名称禁止使用Mysql保留字关键字
1。3所有数据库对象名称要做到见名知义,并且最好不要超过32个字符重点内容
- 临时库表必须以tmp_为前缀并以日期为后缀
- 备份库,备份表必须以bak为前缀并以日期为后缀
- 所有存储相同数据的列名和列类型必须一致
高性能可扩展mysql-数据库设计规范
2数据库基本设计规范
- **所有表必须使用Innodb存储引擎**5.6以后默认的引擎
- 支持事务,行级锁,更好的恢复性,高并发下性能 更好
- 数据库和表字符集统一使用UTF-8(统一字符集)
- mysql中UTF-8占用3个字节,ASCII码占用一个字节
- 表和字段加上注释,comment,数据字典的维护
- 尽量控制单表数据量的大小,建议控制在500万以内
- (可以使用历史数据归档(日志),分库分表(业务表)等手段来控制重点内容
-谨慎使用mysql分区表,分区表在物理上表现为多个文件,在逻辑上表现为一个表
-谨慎选择分区表,跨分区查询效率可能更低
-建议采用物理分表的方式管理大数据
-尽量做到冷热数据分离,减少表的宽度(减少列的数量)
MySQL限制最多存储4096列
减少磁盘io,保证热数据的内存缓存命中率
利用更有效的利用缓存,避免读入无用的冷数据(避免使用select*)
- 经常一起使用的列放到一个表中
- 禁止在表中建立预留字段
- 很难做到见名之意,数据类型不准确
-不要预留字段,以后增加字段比较好
禁止在数据库中存储图片,文件等二进制数据存储在文件服务器中
禁止在线上做数据库压力测试,会产生垃圾数据
禁止从开发环境,测试环境直接连生产环境数据库
3数据库索引设计规范
-不要滥用索引(限制每张表上的索引数量,建议单表索引不超过5个
高性能可扩展mysql-数据库设计规范
-5.6
高性能可扩展mysql-数据库设计规范
高性能可扩展mysql-数据库设计规范
q高性能可扩展mysql-数据库设计规范
索引的顺序—从左到右的顺序
高性能可扩展mysql-数据库设计规范
高性能可扩展mysql-数据库设计规范
高性能可扩展mysql-数据库设计规范
覆盖索引:好处
高性能可扩展mysql-数据库设计规范
高性能可扩展mysql-数据库设计规范
高性能可扩展mysql-数据库设计规范
尽量避免使用外键
4数据库字段设计规范

5数据库SQL开发规范

6数据库操作行为规范