where time<>'' and time>@p1 比where time>@p1 效率高吗

newdigitime 2009-12-27 04:34:41
突然想到一个问题,表中有一个时间字段,此字段允许空值和空字符串。

当有一个条件要判断此字段中值晚于某个时间值时,
where time<>'' and time>@p1 比where time>@p1 效率高一些吗

从感觉上判断空应该简单一些,所以先判断是否为空,如果不是空,再判断是否晚于某个时间,这样会不会
效率高一些?
...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
--小F-- 2009-12-28
  • 打赏
  • 举报
回复
一样的效率 CTRL+L看执行计划就知道了
shabble 2009-12-28
  • 打赏
  • 举报
回复
不会,空小于有值的字符串,因为空就相当于数字0
victorcai2006 2009-12-27
  • 打赏
  • 举报
回复
应该是不会的,但是LZ可以参考一下3楼乌龟的说法,先看看执行计划后才知道。
dawugui 2009-12-27
  • 打赏
  • 举报
回复
[Quote=引用楼主 newdigitime 的回复:]
突然想到一个问题,表中有一个时间字段,此字段允许空值和空字符串。

当有一个条件要判断此字段中值晚于某个时间值时,
where time <>'' and time>@p1 比where time>@p1 效率高一些吗

从感觉上判断空应该简单一些,所以先判断是否为空,如果不是空,再判断是否晚于某个时间,这样会不会
效率高一些?
[/Quote]
有可能,但不能完全保证.
sql会去自动优化查询条件.
具体情况得看执行计划.
SQL77 2009-12-27
  • 打赏
  • 举报
回复
看执行计划
ACMAIN_CHM 2009-12-27
  • 打赏
  • 举报
回复
不会。应该一样。

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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