博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
01数据库基本设计规范
阅读量:2004 次
发布时间:2019-04-28

本文共 815 字,大约阅读时间需要 2 分钟。

 

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

不同的数据库名:DbName   dbname
不同的表名:Table     table     tabLe

所有数据库对像名称禁止使用MySQL保留关建字

数据库对像的命名要能做到见名识义,并且最好不要超过32个字符
临时库表必须以tmp为前缀并以日期为后缀
备份库,备份表必须以bak为前缀并以日期为后缀
所有存储相同数据的列名和列类型必须-致,一般作为关联列
 

Mysql5.5使用之前Myisam(默认存储引擎)情况

所有表必须使用Innodb存储引擎

    5.6以后的默认引擘

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

 

数据库和表的字符集统一使用UTF8

统一字符集可以避免由于字符集转换产成的乱码

MySQL中UTF8字符集汉字点3个字节, ASCI码占用1个字节

如果用varchar(255)那么就会占用255*3=765个字节

所有表和字段都需要添加注释

使用comment从句添加表和列的备注
从一开始就进行数据字典的维护

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

500万并不是MySQL数据库的限制
修改表结构,备份,恢复都会有很大问题
可以用历史数据归档,分库分表等手段来控制数据量大小
 

谨慎使用MySQL分区表

分区表在物理.上表现为多个文件,在逻辑上表现为- -个表
谨慎选择分区键,跨分区查询效率可能更低
建议采用物理分表的方式管理大数据
 

尽量做到冷热数据分离,减小表的宽度

减少磁盘I0 ,保证热数据的内存缓存命中率
利用更有效的利用缓存,避免读入无用的冷数据
经常-起使用的列放到一个表中
 

禁止在表中建立预留字段

预留字段的命名很难做到见名识义
预留字段无法确认存储的数据类型,所以无法选择合适的类型
对预留字段类型的修改,会对表进行锁定
 

禁止在数据库中存储图片,文件等=进制数据

禁止在线上做数据库压力测试
禁止从开发环境,测试环境直连生产环境数据库

 

 

 

 

转载地址:http://aattf.baihongyu.com/

你可能感兴趣的文章
java内存模型
查看>>
volatile关键字
查看>>
tomcat_关闭
查看>>
Servlet_快速入门
查看>>
Servlet_生命周期方法
查看>>
Servlet_体系结构
查看>>
Servlet_urlpartten配置
查看>>
Request_原理
查看>>
Request_继承体系
查看>>
前端权限控制:获取用户信息接口构造数据
查看>>
有状态服务和无状态服务
查看>>
七牛云存储:断点续传
查看>>
字节流复制文本文件【应用】
查看>>
字节流复制图片
查看>>
其他数字摘要算法实现
查看>>
私钥加密私钥解密
查看>>
锁的释放流程-ReentrantLock.unlock
查看>>
Java判断字符串是否为数字(浮点类型也包括)
查看>>
Err:11 https://developer.download.nvidia.cn/compute/cuda/repos/ubuntu2004/x86_64 Packages 404 No
查看>>
ubuntu opencv-python 安装很慢问题
查看>>