| 订阅 | 在线投稿
分享
 
 
 

在特定情况下使用游标改善语句执行效率

来源:互联网  宽屏版  评论
2008-06-01 03:05:17

正常情况下,游标都不如sql语句快,但是笔者碰上一个3千万级的表设置为表a,还有一个几万级的表设置为表b,从表b提取前600,每组取前10个。

如果用sql语句写的话,与下面的语句类似:

select

t.*

from

表 t

where

t.declid in(select top 10 declid from 表 where a列=t.a列)

大家可以发现,执行效率很糟糕,执行了几分钟后,如果改用游标加top 10则只会用2秒的时间。

 
正常情况下,游标都不如sql语句快,但是笔者碰上一个3千万级的表设置为表a,还有一个几万级的表设置为表b,从表b提取前600,每组取前10个。 如果用sql语句写的话,与下面的语句类似: select t.* from 表 t where t.declid in(select top 10 declid from 表 where a列=t.a列) 大家可以发现,执行效率很糟糕,执行了几分钟后,如果改用游标加top 10则只会用2秒的时间。
󰈣󰈤
 
 
 
>>返回首页<<
 
 热帖排行
 
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
©2005- 王朝网络 版权所有