pengdali(大力) 大侠,你好!
这个问题,就是哪天哪个“存储过程优化”问题的续集,算奖品的哪个。
后来我用了,n_show大侠的方法,今天试了试,在查询分析其处理10000条记录只用9秒,但放在存储过程中用了4分钟,存储过程没有返回记录集。但里面用到了临时表,处理了20000左右的记录。
这个问题,就是哪天哪个“存储过程优化”问题的续集,算奖品的哪个。
后来我用了,n_show大侠的方法,今天试了试,在查询分析其处理10000条记录只用9秒,但放在存储过程中用了4分钟,存储过程没有返回记录集。但里面用到了临时表,处理了20000左右的记录。
现在是调试环境:Cpu, C900内存128,
系统是win2000,
20000*奖品种类,如果奖品是100种就是200万条。
要改进一下。
数据量大可以考虑用两个临时表循环来倒,对临时表加索引。
但一定要建索引,否则会出错!
create CLUSTERED index id1 on #tmp(username asc,prizescore desc)
奖品种类(不会超过5种)比较少,我用奖品去循环,每次再用户扣除积分,
方法与zqllyh(您问我也问总可以问出个所以然) 和 j9988(j9988) 的有差不多(从中的到的提示)效率和N_chow的差不多。
虽然可以给客户一个交代了。但我还有一个疑虑:
N_chow的方法在查询分析器中很快,但考到存储过程中后变的很慢,其它人的方法法都没有没有这种现象,大家来帮我分析分析
不回超过半秒
然后一句select就搞定了,你为何不试试呢???
高手就是不同!看问题,这么透彻,佩服佩服。
不知道为何,大虾很少来sql版了呢??
那里有有麻烦,我感激还来不及呢?对大侠灵巧的心思佩服不已,只不过在工作中压力大,总选一些直接的方法来提高效率(工作)。上次的贴子使我提高不少,思路开扩了许多。
to pengdali(大力)
你的方法速度很快,但返回记录集的格式很难写入到库中,而产品发放要有记录,所以没用。