数据库命名规范
1. 所有数据库对象名称必须使用小写字母并用下划线分割
http://dev.mysql.com/doc/refman/5.7/en/keywords.html
临时表必须以tmp为前缀并以日期为后缀
备份库,备份表必须比bak为前缀并以日期为后缀
所有储存相同数据的列名和列类型必须一致。
宽度不能超过4096
– 单表保持500万 可以用历史数据归档,分库分表来控制数据量大小
– 建议采用物理分表的方式管理大数据
– 尽量做到冷热数据分离,减小表的宽度
+ 减少磁盘IO,保证热数据的内存缓存命中率
+ 利用更有效的缓存,避免读入无用的冷数据
– 禁止在表中建立预留字段
– 禁止在数据库中存储图片,文件等二进制数据
– 禁止在线上做数据库压力测试
数据库索引设计规范
– 单表不要超过5个
– 每个Innodb表必须要有一个主键
– where 从句 包含order by group by distinct
– 多表 join关联列
– 联合索引 从左到右 覆盖索引 避免回表
– 外键会影响写操作性能
数据库字段设计规范
SQL开发规范
超过100万行的批量写操作,要分批多次进行操作 大批量操作可能会造成严重的主从延迟
对于达标使用pt-online-schema-change修改表结构
发表回复