速度执行问题

swxandwf 2008-10-14 04:14:12
大侠,小弟有一个问题,不知道如何解,我建立了一张视图,v_cc_wckdd,如下:
SELECT DISTINCT cc_dj_id, cc_kh_mc, cc_dj_djh, cc_dj_cydw
FROM dbo.v_cc_wckxx
WHERE (wcksl > 0)
我在本地查询分析器执行速度很快,执行出来的数据共四条,但放在服务器上,执行速度超慢,需要十几秒才会出来这四条记录,太离谱了,但我将这个where (wcksl > 0)去除掉,这个执行速度又比较快,大概在0.5秒完成,请问各位高手,这是怎么回事?

另外,dbo.v_cc_wckxx也是一个视图
...全文
153 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
huch_2008 2008-10-20
  • 打赏
  • 举报
回复
建议对视图进行优化。要么放到存储过程中。
msw120 2008-10-19
  • 打赏
  • 举报
回复
关注中,我也有这个问题,2个机器上的同一个查询效率差好多
woaiguainv 2008-10-18
  • 打赏
  • 举报
回复
...用临时表就是把 v_cc_wckxx 数据
select * into #tmp from v_cc_wckxx


swxandwf 2008-10-17
  • 打赏
  • 举报
回复
建议你所用的第一个view用一个临时表代替?
这句我不明白是什么意思?
菜谱 2008-10-15
  • 打赏
  • 举报
回复
对于大表查询的时候
会引起排序的关键字,尽量少用或不用
如: order by ,group by ,distinct
这里WHERE (wcksl > 0) 也会引结果再次排序

另外view是虚表,数据要加载到内存里,
而再次在view上建view,如果数据很大
就会使用性能更差

建议你所用的第一个view用一个临时表代替
zh_ds 2008-10-15
  • 打赏
  • 举报
回复
要进入视图看字段wcksl是怎么提取的,可能需要对视图优化,还有可以看看索引是否有问题。
水族杰纶 2008-10-14
  • 打赏
  • 举报
回复
--try
sp_refreshview 'v_cc_wckxx'
axisloverster 2008-10-14
  • 打赏
  • 举报
回复
这个问题很容易阿
www.ilikebook.com.cn有相关的书籍
swxandwf 2008-10-14
  • 打赏
  • 举报
回复
经测试
SELECT DISTINCT cc_dj_id, g_gsmc, cc_dj_djh, cc_dj_cydw, cc_dj_ch
FROM dbo.v_cc_wckxx
WHERE (wcksl > 0)

加了where是42秒,不加where是1秒呀

各位高手救救我呀,现在我怀疑是数据库问题,大哥救命
swxandwf 2008-10-14
  • 打赏
  • 举报
回复
SELECT DISTINCT cc_dj_id, g_gsmc, cc_dj_djh, cc_dj_cydw, cc_dj_ch
FROM dbo.v_cc_wckxx
WHERE (wcksl > 0)

执行速度是42秒
去掉where,执行速度是0.5秒
hsie168518 2008-10-14
  • 打赏
  • 举报
回复

视图上建视图,应该不碍事吧?
rydan 2008-10-14
  • 打赏
  • 举报
回复
这个需要对视图进行优化

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧