好吧,经过几个月的研究,事实证明问题不是我的Web应用程序。问题是使用数据库的同一实例(不同用户)的其他Oracle Forms应用程序。
发生的事情是Oracle Forms应用程序正在锁定数据库上的记录,因此使数据库的几乎所有工作都非常缓慢(包括我钟爱的Hibernate查询)。
锁定的原因是没有对Oracle Forms应用程序的外键进行索引。因此,正如我的老板向我解释(他找到了原因),当用户在Oracle
Form应用程序中编辑主从关系的主记录时,如果没有其外键索引,则数据库 将锁定整个明细表 。这是因为Oracle
Forms的工作方式是更新主记录的所有字段,包括主键的字段,而外键则引用这些字段。
简而言之, 请不要让外键没有索引 。我们为此受了很多苦。
感谢所有花时间帮助您的人。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)