sql 2005的游标效率好像太低了,比2000慢了十倍 以前还没发觉,现在新把一个库移到2005 (还是X64版的),用FAST_FORWARD游标从一个表往另外几个表倒入数据,那叫一个慢……有哪位有这方面优化经验的进来说说。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DECLARE Flow_CUR CURSOR FAST_FORWARD FOR SELECT Col1 FROM Flow FOR READ ONLY OPEN FullFlow_CUR FETCH FullFlow_CUR INTO @tempstr1 WHILE (@@FETCH_STATUS) = 0 BEGIN…………………… FETCH Flow_CUR INTO @tempstr1 END CLOSE Flow_CUR DEALLOCATE Flow_CUR 會不會不是cursor的問題...要不什麼都不讓它干,就跑圈游標看看?會不會慢 如果不更新的话,你在指定一个static属性试试.慢应该是while的问题吧,你在2000上面试了,效率能差多少? 执行下面的语句, 把所有的索引重新建立一次:USE 你的库名EXEC sp_msforeachtable N'RAISERROR(N''*** ------- reindex on "?"'', 10, 1) WITH NOWAITDBCC DBREINDEX(N''?'')' 试了下改成static好像快了那么一点点,但还是非常慢,还有原来的表里面都没有索引的,都是一些临时表 跟.NET沾上边就会慢点!微软的产品越来越占系统资源了! 還沒有來的及學SQL SERVER 2005 是的很奇怪,我这里有两台机器,分别跑了一下,结果完全不同,都加了FAST_FORWARD,一个速度非常快,一个很慢。注。。都是SQL SERVER 2005 那看来是机子的问题不过SQL2005的事吧? 我是lz,现在问题解决了。数据库是这样的,log文件放在本地raid1上,data文件放在raid50阵列上。看了一下本地raid1阵列没有打开写入缓存,打开之后速度快了十倍不止。不过raid1阵列卡没有电池,是个安全隐患。现在改成散分贴,顶贴有分 哈哈,今天我也发现了这个问题,呵呵确实是硬盘的问题,硬盘写入速度跟不上CPU的速度,但是不知道怎么打开RAID的缓存,小日本的机器看不懂。 查询结果怎样加一个序号 实时错误‘91’,对象变量或with块变量未设置 sql2005 迁移mysql数据 [讨论]做个winFrom的局域网小系统,为什么有的电脑不能联接数据库 求助!SQL对表中部分数据进行分组问题 菜鸟问一个数据表建立问题(工厂管理)? Mssql如何合并2个结构一样的数据库? 有关最小值的问题! 我用sql语句查询得到很多记录,但是怎样得到其中符合条件的某一笔记录的信息呢? 如何消除内容重复的行(行本身不重复) 求select 语句?请高人指点 convert能否把int型转换成00:00:00?
Col1
FROM Flow FOR READ ONLY OPEN FullFlow_CUR
FETCH FullFlow_CUR INTO
@tempstr1 WHILE (@@FETCH_STATUS) = 0
BEGIN
…………………… FETCH Flow_CUR INTO
@tempstr1
END
CLOSE Flow_CUR DEALLOCATE Flow_CUR
要不什麼都不讓它干,就跑圈游標看看?會不會慢
慢应该是while的问题吧,你在2000上面试了,效率能差多少?
EXEC sp_msforeachtable N'
RAISERROR(N''*** ------- reindex on "?"'', 10, 1) WITH NOWAIT
DBCC DBREINDEX(N''?'')'
注。。都是SQL SERVER 2005
数据库是这样的,log文件放在本地raid1上,data文件放在raid50阵列上。
看了一下本地raid1阵列没有打开写入缓存,打开之后速度快了十倍不止。
不过raid1阵列卡没有电池,是个安全隐患。现在改成散分贴,顶贴有分