访问SQL查询响应速度非常慢
问题描述:
我使用MS Access 2007中使用C#,我试图执行下面的查询..访问SQL查询响应速度非常慢
我的表有三列Word
,POS
和Freq
,拥有独特的记录。总记录数是“数百万条记录”。
此查询工作正常,我和回报,我希望所有正确的结果:
Select Word, POS, Freq from TName Where Word **IN** (SELECT Word from TName Group By Word Having Count(*) > 1) Order By Word;
但是,当我尝试以下类似的查询(在EXE),然后系统停止响应。
Select Word, POS, Freq from TName Where Word **NOT IN** (SELECT Word from TName Group By Word Having Count(*) > 1) Order By Word;
我也是在MS Access查询面板尝试了第二SQL命令和MS Access停止响应,但非常非常缓慢返回结果。
请帮我...
答
既然你在访问的时候,你可以只让中选择自己的查询,然后只需使用普通的JOIN。
查询WordCounts
:
SELECT Word from TName Group By Word Having Count(*) > 1
你的最终查询:
SELECT Word, POS, Freq from TName
INNER JOIN WordCounts ON TName.Word = WordCounts.Word
答
创建嵌套查询从TNAME集团由Word说QryWordsThatAppearMoreThanOnce 选择Word有COUNT(*)> 1
然后加入
Select n.Word, n.POS, n.Freq from TName n
inner join QryWordsThatAppearMoreThanOnce q On q.Word = n.Word
Order By n.Word
另一个是
Select n.Word, n.POS, n.Freq from TName n
Left join QryWordsThatAppearMoreThanOnce q On q.Word = n.Word
and q.Word is null
Order By n.Word
类似的东西,无论如何,一些接入怪事开始发挥作用的可能性。