我有一个到我的 oracle 数据库的 ODP 连接。
var reader = command.ExecuteReader();
whild (reader.Read())
{
//...
}
在某些情况下,第一次通话reader.Read()
需要比平时更多的时间(3 到 10 秒)。
下次通话正常。不仅下一次调用没问题,而且大部分时间关闭应用程序并重新运行它也是没问题的!
哪些参数会影响reader.Read()
比平时更多的花费时间?
Update1: 为了澄清这种情况,请考虑以下情况:
- 应用程序运行。
- 在应用程序期间执行大量查询。
- 用户决定对某些表运行具有特定查询的报表
- ExecureReader 在适当的时间被调用。
- 现在是通过阅读器阅读的时候了。但这需要不寻常的时间。
- 用户再次运行应用程序。
- 它不会再发生了。
我想这是关于数据库上的一些缓存机制。但如果是数据库缓存,那么ExecuteReader()
应该有不同的执行时间。