数据库工作经验总结一
1、涉及数据库表的删除操作时,一定需要做备份。修改表的话,也尽可能先做一下备份。
例如需要对员工表(employees)做删除操作之前,可以先将原表备份一份。mysql中的操作如下:
-- 备份employees表
CREATE TABLE employees_backup
AS
SELECT * FROM employees;
2、当需要完成数据同步任务时,尽可能选择第三方工具异步操作,而不要使用应用系统同步数据。
这条是在设计评审时,评审老师给的建议,我对这条建议的理解如下:
举个栗子。应用系统A每日定时会对数据库W的风控数据进行操作,此时应用系统B每日也会定时对数据库W的风控进行它的业务操作。
1)如果某一天数据库W出现问题,是不是应用系统A和应用系统B在连接处理时会异常,如果对异常处理不得当,可能会对导致应用系统出现级联故障。
2)又比如如果某一天应用系统A的操作数据量特别大,一直在访问数据库。首先,应用系统A的大量资源都在做数据同步操作,系统响应可能变慢。其次,此时如果应用系统B去操作数据库W的速度也会变慢,同理也会影响到应用系统B的响应。
以上两种情况还只是2台应用系统,如果有更多台应用系统的话,可能出现的情况就会更多了。因此尽可能让应用系统A和B尽可能使用第三方工具去每日同步数据,比如kettle来定时每日同步数据。
以上仅是我个人对这条建议的理解。
3、在涉及邮件发送等定时任务时,一定要在数据库中记录号邮件发送的信息以及是否成功等信息。如果遇到某一段时候邮件发送异常等情况,可以根据数据库信息进行补发或者补救等操作。