1.尽可能缩短事务。
2. 尽可能按同一顺序访问数据对象。
3. 避免编写包含用户交互的事务。
4. 使用低隔离级别。
5. 考虑体系结构的优化与代码重构,提高系统整体的运行效率。
6. 通过程序控制事务提交的时机。
7. 将经常更新的数据库和查询数据库分开。定期将不改变的数据导入查询数据库中,这
样查询和更新就可以分开进行,而降低死锁机率。
8. 在进行数据库模式设计时,注意外键引用的完整性,并对外键加索引。如果更新了父
表的主键,由于外键上没有索引,所以子表会被锁定;如果删除了父表中的一行,整
个子表也会被锁定。