1

我有一个到我的 oracle 数据库的 ODP 连接。

var reader = command.ExecuteReader();
whild (reader.Read())
{
    //...
}

在某些情况下,第一次通话reader.Read()需要比平时更多的时间(3 到 10 秒)。

下次通话正常。不仅下一次调用没问题,而且大部分时间关闭应用程序并重新运行它也是没问题的!

哪些参数会影响reader.Read()比平时更多的花费时间?

Update1: ​​为了澄清这种情况,请考虑以下情况:

  1. 应用程序运行。
  2. 在应用程序期间执行大量查询。
  3. 用户决定对某些表运行具有特定查询的报表
  4. ExecureReader 在适当的时间被调用。
  5. 现在是通过阅读器阅读的时候了。但这需要不寻常的时间。
  6. 用户再次运行应用程序。
  7. 它不会再发生了。

我想这是关于数据库上的一些缓存机制。但如果是数据库缓存,那么ExecuteReader()应该有不同的执行时间。

4

0 回答 0