虽然阻塞会话为0,但SQL查询阻止了另一个查询

时间:2013-01-09 11:40:22

标签: sql oracle concurrency oracle10g locks

我从两个在同一个表上运行的应用程序登录,并从两个程序执行两个操作,导致后台SQL查询运行。并且一个操作导致另一个操作卡住或运行非常缓慢。我发现这两个问题要在很长一段时间内保持在一起。

  1. 从表格中选择计数(*)....
  2. 插入表......
  3. 另外,您能否告诉我如何在运行时显示查询获取的锁定或查看哪些查询可能存在冲突?

1 个答案:

答案 0 :(得分:0)

我认为你没有任何锁定问题,因为select不会请求任何锁定。

您可能遇到的是选择必须求助于前映像,即插入前的值(假设插入和选择使用相同的表)。之前的图像存储在回滚段中,访问它们的成本有些高。

查询正在填充的表的行数仍然没有意义。结果会告诉你什么?一微秒后就会出错。这表明,你应该重新考虑其背后的逻辑。