您的位置:首页 > 数据库 > MySQL

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

2017-09-22 16:50 302 查看
数据库设计规范



每个公司都有自己数据库的规范

1数据库命名规范

1。1所有数据库对象名称必须使用小写字母并用下划线分割

1。2所有数据库对象名称禁止使用Mysql保留字关键字

1。3所有数据库对象名称要做到见名知义,并且最好不要超过32个字符重点内容

- 临时库表必须以tmp_为前缀并以日期为后缀

- 备份库,备份表必须以bak为前缀并以日期为后缀

- 所有存储相同数据的列名和列类型必须一致



2数据库基本设计规范

- **所有表必须使用Innodb存储引擎**5.6以后默认的引擎

- 支持事务,行级锁,更好的恢复性,高并发下性能 更好

- 数据库和表字符集统一使用UTF-8(统一字符集)

- mysql中UTF-8占用3个字节,ASCII码占用一个字节

- 表和字段加上注释,comment,数据字典的维护

- 尽量控制单表数据量的大小,建议控制在500万以内

- (可以使用历史数据归档(日志),分库分表(业务表)等手段来控制重点内容

-谨慎使用mysql分区表,分区表在物理上表现为多个文件,在逻辑上表现为一个表

-谨慎选择分区表,跨分区查询效率可能更低

-建议采用物理分表的方式管理大数据

-尽量做到冷热数据分离,减少表的宽度(减少列的数量)

MySQL限制最多存储4096列

减少磁盘io,保证热数据的内存缓存命中率

利用更有效的利用缓存,避免读入无用的冷数据(避免使用select*)

- 经常一起使用的列放到一个表中

- 禁止在表中建立预留字段

- 很难做到见名之意,数据类型不准确

-不要预留字段,以后增加字段比较好

禁止在数据库中存储图片,文件等二进制数据存储在文件服务器中

禁止在线上做数据库压力测试,会产生垃圾数据

禁止从开发环境,测试环境直接连生产环境数据库

3数据库索引设计规范

-不要滥用索引(限制每张表上的索引数量,建议单表索引不超过5个



-5.6





q


索引的顺序—从左到右的顺序







覆盖索引:好处







尽量避免使用外键

4数据库字段设计规范

5数据库SQL开发规范

6数据库操作行为规范
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: