返回8行的Oracle查询运行>通过asp.net比sqldeveloper慢10倍

时间:2014-03-26 17:49:34

标签: asp.net performance oracle sql-execution-plan

我有一个带有System.Data.OracleClient提供程序的SqlDataSource加载的GridView,使用返回8行的select命令。

页面加载时,选择和选定事件之间的时间为35秒。我已经通过查看Oracle服务器上v $ session_longops中的已用时间来验证查询真的需要这么长时间。

如果我将完全相同的查询剪切并粘贴到sql developer中,它会在1-2秒内运行并返回相同的8行。

如果我将查询结果转储到表中并将该表用于我的页面加载,它将在不到1秒的时间内运行。

有没有人对我应该关注的事情有任何建议?网站上的其他查询似乎没有受到影响 - 我唯一能想到的是这个查询的不同之处在于它确实需要1-2秒,并且大多数其他查询开始以更快的速度返回数据。< / p>

ETA:查询较慢的原因是它使用的是不同的查询计划。据推测,某些会话参数与导致选择不同查询计划的两个连接不同,但设置v $ parameter2中列出的所有内容(包括plscope,plsql_debug和plsql_optimize_level)以使它们匹配不会在sql developer中复制问题。 / p>

0 个答案:

没有答案