拼where条件,1=1的问题

intotheheart 2008-08-07 03:49:11
where条件中如果加上1=1,会有什么样的问题.是否会影响效率
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
oracledbalgtu 2008-08-07
  • 打赏
  • 举报
回复
因为使用了1=1后,cursor_sharing设置成similar将导致:sys_bind=:sys_bind,在某些版本的oracle中会把执行计划搞错,导致效率问题。尤其是9205之前的版本。

[Quote=引用 4 楼 dbabc 的回复:]
引用楼主 intotheheart 的帖子:
where条件中如果加上1=1,会有什么样的问题.是否会影响效率


按说在获得结果之前,会计算出true或false.不会进行表的扫描·不会影响效率`
期待oracledbalgtu出现
[/Quote]
dbabc 2008-08-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 intotheheart 的帖子:]
where条件中如果加上1=1,会有什么样的问题.是否会影响效率
[/Quote]

按说在获得结果之前,会计算出true或false.不会进行表的扫描·不会影响效率`
期待oracledbalgtu出现
intotheheart 2008-08-07
  • 打赏
  • 举报
回复
能给我再具体解释一下么,谢谢!目前的我们的数据库的cursor_sharing=force
oracledbalgtu 2008-08-07
  • 打赏
  • 举报
回复
根据情况不同有所不同,如果cursor_sharing=similar的话,这样使用容易出现效率问题。
不建议使用。 完全可以在编程序时通过判断来解决 "条件"和"and 条件"的问题。


[Quote=引用楼主 intotheheart 的帖子:]
where条件中如果加上1=1,会有什么样的问题.是否会影响效率
[/Quote]
ejoe313 2008-08-07
  • 打赏
  • 举报
回复
不会的,这只是为了拼写SQL方便

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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