DB使用标准

1.一台机器只安装一套mysql,同一mysql的库、表字符集必须一致,字段禁止定义字符集,新上线业务优选UTF8


2.开发人员申请新用户遵循如下规则:
网站应用(web_业务简称)
报表应用(report_业务简称)
服务应用(deamon_业务简称)
查询服务(search_业务简称)


3.线上环境只授予开发人员两种权限的用户拥有select,insert,update,delete 权限的用户和只拥有select权限的用户
授权形式只有如下两种:
grant select,insert,update,delete on dbname.* to 'username'@'ip' identified by 'userpassword';
grant select on dbname.* to 'username'@'ip' identified by 'userpassword';

dbname,username,ip, userpassword 开发人员按如下格式提供:

 业务DB使用描述:

 描述DB使用场景,用于什么业务

 数据库服务器ip:

 填写需添加用户的数据库ip(只提供主机IP即可)

 来源ip: 

 填写需要从哪台服务器连接

 账户名称:

 参考账户规则添加

 数据库:

 需要给哪个库开通权限

 权限:

 只能选择select,insert,update,delete

 备注:

 如果有其它说明

 

4.数据库命名组成页游[手游]平台标识_业务简称 

5.除存放日志的表和中间临时表外,其他表原则上必须有主键


6.创建表必须包含行记录的创建时间字段和修改时间字段


7.默认表的engine应该为innodb,其他engine需与DBA运维评估


8.表和字段必须有comment注释,表名使用小写字母和下划线命名,字段名统一大写


9.组合索引不能超过5列,最好保持在3列以内


10.组合索引最常使用的字段或区分度高的字段考虑放在索引第一列


11.单表索引数量建议不超过5


12.除数据分析系统可以使用存储过程外,其它在线系统不允许使用触发器、存储过程、自定义函数(UDF)、视图,且不允许在数据库中进行大量计算


13.应用程序尤其web层直连DB的程序,须设计防sql注入校验


14.连接DB的程序需实现读写分离设计,以便于扩展读负载


15.在线业务单表数据量不建议超过500W,大业务量库表需使用分库分表设计及进行历史数据的迁移


16.不建议使用分区表,尽量使用分表设计来替代


17.避免使用select **号换为具体字段名,insert语句必须写明具体字段

备注:24项沿用之前规定,以避免用户和数据库创建风格不一致。

 

你可能感兴趣的:(DB使用标准)