电脑技术学习

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

dn001
正常情况下,游标都不如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秒的时间。