之前做过平台的二次开发,主要就是写写SQL,也曾用到过游标,确实是慢些。 有什么好的方法替代游标么? 前端程序可以用代码替代,这样会比SQL处理的快么? 没试验过! 具体问题具体分析,CTE、临时表、函数、CLR都能实现大部分游标功能,我个人常用的是在数据库管理方面,比如遍历实例上的所有库、所有表,这种情况下,游标不错,我以前公司,有个开发写的报表,看了一下代码,直接between and 就可以查到数据,但是她尽然使用游标遍历全表,一上线,只运行了3次,产生6600万次逻辑读,服务器卡得要命,后来我改了一下between and,从2个多小时降到1秒钟。很多时候不是游标有问题,而是他们用错了,根深蒂固的面线过程或者面向对象写法,伤害了SQL Server的性能,最终你得到的答复是:没办法啊,我只会这样写 用刀片砍树,用斧头切纸。游标不是问题,问题是你怎么用... 因为存储过程使用游标,性能低,所以用T-SQL,这种悖论,不是某个技术。这个悖论让我一下子想到了组织的日常行为,罪过罪过
|