MySQL数据库规范 (设计规范+开发规范+操作规范) (6)

(9) 不要在MySQL数据库中存放业务逻辑,如果把业务逻辑放到数据库中,将会影响横向发展和上线测试。建议把业务逻辑提前,放到前端或中间逻辑层,数据库仅作为存储层,实现逻辑与存储的分离;

(10) 出现业务部门人为误操作导致数据丢失,需要恢复数据的,必须第一时间通知DBA,并提供准确时间地点、误操作语句等重要线索;

(11) 业务部门程序出现BUG等影响数据库服务的问题,必须及时通知DBA,便于维护服务稳定; 

(12) 重要项目的数据库方案选型和设计必须提前通知DBA参与。

7.2 避免使用触发器

MySQL中触发器是行触发的,每次增加、修改或者删除记录都会触发进行处理,编写过于复杂的触发器或者增加过多的触发器对记录的插入、更新、删除操作会有比较严重的影响,因此不要将应用的处理逻辑过多地依赖于触发器来处理。触发器的功能通常可以用其他方式实现,确实需要采用触发器,请联系DBA进行确认。

7.3 避免使用存储过程和函数

在数据库服务器上进行大量的复杂运算会占用服务器的CPU,造成数据库服务器的压力,影响数据库的正常使用,所以应尽量将这些运算操作分摊到应用服务器上执行。此外,存储过程难以调试和扩展,数据库扩展能力远远不如应用。

7.4 避免使用视图

视图可能导致执行计划错乱,影响SQL运行效率。对视图的修改,数据库必须把它转化为对基本表的信息修改,不便于维护。

VIII 其他规范 8.1 编制文档

对所有的命名规范、限制、数据字典、存储过程、函数都要编制文档。数据库文档化会大大减少犯错的机会,对开发、支持和跟踪修改非常有用。

8.2 维护计划规范

(1) 数据归档设计

根据业务功能,做最小限度保留,将数据备份至归档库,系统功能兼容访问历史数据库。

(2) 数据归档删除

需要物理删除不需要归档的数据,直接由DBA排作业自动物理删除。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgjsws.html