同一个sql语句,当改变条件中的值时查询速度慢了好几十倍,只是为什么?

systemInput 2005-06-04 04:42:18
对一个视图做查询 ,sql语句简单描述如下:

select field1,field2,…… from view_tb where condition1 and rtype = '1' 执行时间 0.01秒

select field1,field2,…… from view_tb where condition1 and rtype = '2' 执行时间 21秒

这是为什么? 有没有那位遇见过同样的问题,希望能交流一下。

谢谢!


...全文
414 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cemma 2005-06-06
  • 打赏
  • 举报
回复
把完整的查询条件贴出来看,是不是你标记为CONDITION的条件与 RTYPE=‘1’有交集?
tony0115 2005-06-06
  • 打赏
  • 举报
回复
你把两句都选中,然后按 Ctrl+L

看看百分比,看看哪里不一样?
systemInput 2005-06-06
  • 打赏
  • 举报
回复
gdczch(一个好好人) 只要你 按 CTRL+L 在原先现实查询结果的地方就会显示查询计划。
gdczch 2005-06-05
  • 打赏
  • 举报
回复
接一下,

想请问uuxiaoli(SQL你在何方) 要在哪里才能看到你所说的"分析一下执行计划,查询开销的时间在哪个数据表"???
systemInput 2005-06-05
  • 打赏
  • 举报
回复
我发现这种现象时好时坏。不知为什么?
uuxiaoli 2005-06-05
  • 打赏
  • 举报
回复
20条数据,需要21秒,这么费时间.
不要用视图,直接写t_SQL查询一下,结果会怎么样.
分析一下执行计划,查询开销的时间在哪个数据表
systemInput 2005-06-04
  • 打赏
  • 举报
回复
我看了执行计划 两句的执行计划都一样的。可是结果 一个要不到1秒 一个却要 21 秒
systemInput 2005-06-04
  • 打赏
  • 举报
回复
to :uuxiaoli(SQL你在何方) 刚好相反 rtype = '2' 数据还没有20条
但是 rtype 为1 的有 5000多条

这个视图 才5000多条数据。
铁歌 2005-06-04
  • 打赏
  • 举报
回复
数据表有多大了?
打开分析开关或CTRL+L分析即可得出答案
uuxiaoli 2005-06-04
  • 打赏
  • 举报
回复
查询的速度会受数据量影响
可能原因是包含rtype = '2' 的记录比rtype = '1'

34,575

社区成员

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

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