我有一个带有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>