视图查询超时问题

readersm68 2007-04-29 07:57:40
我有一个视图里面用了其他视图和函数.
前段时间查询一直没有发生超时问题,最近由于数据量增大,发生查询超时.
分析原因:
通过Query查询数据量不到1万,时间53秒
在客户端查询.我也修改了数据库工具,查询超时为1000秒测试,还是发生超时.

查询相关帖子,在表中增加了某些字段的索引,还是无法解决.
如果说是sql语句涉及到大量占用内存的查询,那么在Query查询为何没有问题?

不知道如何解决这个问题?
...全文
600 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
free_pop2k 2007-04-29
  • 打赏
  • 举报
回复
--只取需要的那些field
--在exists 中尽量用select 1 返回
--在条件中尽量不要用 like,field尽量不要参与计算
free_pop2k 2007-04-29
  • 打赏
  • 举报
回复
建议:
--尽量不要在view的基础上再建view
--尽量不用函数,用子查询代替
--在关键field上建index
--把旧的数据先排除
--可以用temp table提速(多个查询时可以把结果先放到temp table中)
lovcal 2007-04-29
  • 打赏
  • 举报
回复
对,直接组织SQL语句进行联合查询,不要select * from view where ……的形式,因为那样根本就提高效率,你试着把联合查询语句放到性能调整工具中,如2005的数据库引擎优化顾问,会给你提出相对于这个查询的结构调整建议,从而建立索引等等,会有较大的提高查询性能。

视图嵌套层数不能太多《3层,否则SQL语句在执行时不会有较好的优化效果
IT_zen 2007-04-29
  • 打赏
  • 举报
回复
没有索引你查起来会很慢的
IT_zen 2007-04-29
  • 打赏
  • 举报
回复
视图里没有索引,也建不起来索引,所以建议LZ不要查视图,
可以联合查询表,也不要查视图.
wgzaaa 2007-04-29
  • 打赏
  • 举报
回复
,时间53秒Query查询还没问题吗,是不是考虑修改查询语句
CathySun118 2007-04-29
  • 打赏
  • 举报
回复
客户端查询有超时的问题
还是从索引上下功夫吧,多做尝试

22,207

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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