很惭愧我们的系统在UAT时,常常出现数据库进程死锁的现象,这真让我们担心,然后我一直监控数据库和WEB APP服务器。发现了一些问题,也得出了一些感悟,和大家一起分享。
1)减少事务的时间,尽快的结束事务。
2)减少对数据库的访问,避免不必要的数据库访问。
3)把一些业务逻辑的处理用SQL转化成java程序来控制,平衡数据库服务器和WEB APP服务器的负载。
4)减少SQL的嵌套调用,控制嵌套的层次。比如SQL嵌套调用,自己调用自己。
5)把查询和更新的SQL分开处理。不要一条SQL包办。
6)查询条件最好按照索引来写,减少不必要的where条件,尽快的缩小查询范围。
7)把一些页面处理的事情从SQL中抽出来。
8) 统一在Select语句中加入nolock。
9)不要从数据库中获取不必要的数据。
10)保持代码层次分明,清晰流畅,减少重复的编码,添加适当的注释。
我们的目标是提供给用户稳定高效可维护,满足用户需求,提高用户的工作效率,给用户带来方便的系统。
1)减少事务的时间,尽快的结束事务。
2)减少对数据库的访问,避免不必要的数据库访问。
3)把一些业务逻辑的处理用SQL转化成java程序来控制,平衡数据库服务器和WEB APP服务器的负载。
4)减少SQL的嵌套调用,控制嵌套的层次。比如SQL嵌套调用,自己调用自己。
5)把查询和更新的SQL分开处理。不要一条SQL包办。
6)查询条件最好按照索引来写,减少不必要的where条件,尽快的缩小查询范围。
7)把一些页面处理的事情从SQL中抽出来。
8) 统一在Select语句中加入nolock。
9)不要从数据库中获取不必要的数据。
10)保持代码层次分明,清晰流畅,减少重复的编码,添加适当的注释。
我们的目标是提供给用户稳定高效可维护,满足用户需求,提高用户的工作效率,给用户带来方便的系统。
4487

被折叠的 条评论
为什么被折叠?



