Oracle在sqldeveloper中查询速度快,在asp.net中速度慢

时间:2012-07-17 21:31:01

标签: c# asp.net sql oracle

我想执行以下查询并将其放在我的asp.net应用程序的gridview中

select *
from INDICATORS, places, places_sales
where places_sales.id = places.id
and 
INDICATORS.line  in (select line from lines)

行表有28000条记录和指标18000

此查询在oracle sql developer中在6秒内执行,但在我的asp.net应用程序中(使用oracle dataacess作为连接器)需要20分钟

有没有办法优化我的查询?

3 个答案:

答案 0 :(得分:1)

您可以采取一些措施来加快速度。

首先,place或places_sales与INDICATORS之间是否有连接?

如果有,你应该添加它,你可能会得到一个笛卡儿。

现在,对于优化部分,请尝试以下方法:

SELECT *
  FROM indicators, places, places_sales
 WHERE places_sales.id = places.id
       AND EXISTS
               (SELECT ''
                  FROM lines l
                 WHERE l.line = indicators.line)

答案 1 :(得分:0)

我建议您使用带分页的GridView

请参阅链接以了解有关GridView http://msdn.microsoft.com/en-us/library/5aw1xfh3.aspx

的分页的更多信息

这里有一个很好的例子http://www.dotnetcurry.com/ShowArticle.aspx?ID=339

答案 2 :(得分:0)

我建议在表格中放置索引,以便查询更具流畅性。
使用类型 CLUSTERED look this

我真的像一个超过60000行的表,索引将其排序