我想执行以下查询并将其放在我的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分钟
有没有办法优化我的查询?
答案 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行的表,索引将其排序