这个1=1有什么实际意义?

[复制链接]
查看11 | 回复9 | 2008-8-25 01:02:02 | 显示全部楼层 |阅读模式
SELECT * FROM ZORZ WHERE 1 = 1 AND OLTRM_RW LIKE :1
回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
为了方便拼动态查询条件
如果不加1=1,还需要判断是否需要“where”这个关键字
回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
楼上有理/
回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
没有意义
回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
个人认为是多余的
回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
对于查询来说是多余的 但是对于动态语句的构造是很有意义的
回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
这个在编程时是很有用的
回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
支持2楼,编程方便。
在根据用户选择条件进行WHERE子句拼装时,如果用户选了0个条件,where 1=1,选了多个条件,就是where 1=1 AND XXX。
回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
原帖由 at. 于 2009-5-19 10:07 发表
支持2楼,编程方便。
在根据用户选择条件进行WHERE子句拼装时,如果用户选了0个条件,where 1=1,选了多个条件,就是where 1=1 AND XXX。




回复

使用道具 举报

千问 | 2008-8-25 01:02:02 | 显示全部楼层
http://64239.blog.51 cto.com/54239/104705
老熊已经找到了解决那个12张表连接的大型查询的优化方案了,由于这个SQL里使用了大量的占位操作,导致优化器产生的执行计划不合理,这个SQL占用了收费系统30%以上的系统资源。如果将这些占位操作全部去掉,这个SQL的执行计划十分完美,所耗资源不到目前消耗量的5%。为了防止开发商不愿意去掉占位操作,老熊还特意设计了一个存储过程,通过输入不同的条件,拼凑出不含占位操作的SQL语句,实际上开发商只要根据老熊的存储过程经过小的调整,就可以完成SQL拼凑的程序,然后将拼凑出来的没有占位操作的SQL提交执行,这样就可以大大减少这个SQL的开销。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行