查看: 2787|回复: 10

优化一起讨论一下

[复制链接]
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-3-16 17:44 | 显示全部楼层 |阅读模式
from  a
     where ((1 =1) or (a.id = 4) or
           (a.ea_id = 4))
     order by a.NAME,a.ME,a.AREA_NAME,
              a.C1NAME,a.OWE_TYPE,a.malag,a.mame,ser_nr


这个如何改写优化表倒是不大?!
论坛徽章:
820
授权会员
日期:2007-08-10 01:06:30会员2007贡献徽章
日期:2007-09-26 18:42:10ITPUB元老
日期:2008-08-24 00:06:57 2014年世界杯参赛球队: 德国
日期:2014-07-09 15:28:06马上加薪
日期:2014-11-23 19:24:42马上有钱
日期:2014-12-21 16:14:33暖羊羊
日期:2015-03-04 14:50:372015年新春福章
日期:2015-03-06 11:57:31山治
日期:2019-11-15 22:34:59
发表于 2011-3-16 17:55 | 显示全部楼层
(from a where a.id=4
union all
from a where a.ea_id=4)
order by  NAME, ME, AREA_NAME,
               C1NAME, OWE_TYPE, malag, mame,ser_nr
试试这个

使用道具 举报

回复
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-3-16 18:07 | 显示全部楼层
这个我试过了。杨大师的空间里就提到过1=1的问题。没有1=1返回结果为空,这个业务逻辑有问题可能。

使用道具 举报

回复
论坛徽章:
126
ITPUB元老
日期:2007-07-04 17:27:50会员2007贡献徽章
日期:2007-09-26 18:42:10现任管理团队成员
日期:2011-05-07 01:45:08优秀写手
日期:2015-01-09 06:00:14版主7段
日期:2015-07-16 02:10:00
发表于 2011-3-16 18:23 | 显示全部楼层
原帖由 yyp2009 于 2011-3-16 17:44 发表
from  a
     where ((1 =1) or (a.id = 4) or
           (a.ea_id = 4))
     order by a.NAME,a.ME,a.AREA_NAME,
              a.C1NAME,a.OWE_TYPE,a.malag,a.mame,ser_nr


这个如何改写优化表倒是不大?!




这样写的话where条件永远为true, 那返回的结果永远是表a的说有数据!

和如下的语句完全等效:

from a
order by  a.NAME,a.ME,a.AREA_NAME,
              a.C1NAME,a.OWE_TYPE,a.malag,a.mame,ser_nr



使用道具 举报

回复
论坛徽章:
86
2015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24马上有车
日期:2014-02-19 11:55:14马上有车
日期:2014-02-18 16:41:112014年新春福章
日期:2014-02-18 16:41:11优秀写手
日期:2013-12-18 09:29:11日产
日期:2013-10-17 08:44:39马自达
日期:2013-08-26 16:28:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-23 16:55:51马上有房
日期:2014-02-19 11:55:14
发表于 2011-3-17 03:47 | 显示全部楼层
1=1还是or关系

使用道具 举报

回复
论坛徽章:
7
授权会员
日期:2010-12-06 19:50:26数据库板块每日发贴之星
日期:2011-09-03 01:01:01迷宫蛋
日期:2011-09-08 16:30:08ITPUB十周年纪念徽章
日期:2011-11-01 16:24:04玉石琵琶
日期:2012-02-21 15:04:38最佳人气徽章
日期:2012-03-13 17:39:18
发表于 2011-3-17 08:35 | 显示全部楼层
from  a  order by a.NAME,a.ME,a.AREA_NAME,  a.C1NAME,a.OWE_TYPE,a.malag,a.mame,ser_nr
这样的语句还有优化的可能吗?

使用道具 举报

回复
论坛徽章:
1088
金色在线徽章
日期:2007-04-25 04:02:08金色在线徽章
日期:2007-06-29 04:02:43金色在线徽章
日期:2007-03-11 04:02:02在线时间
日期:2007-04-11 04:01:02在线时间
日期:2007-04-12 04:01:02在线时间
日期:2007-03-07 04:01:022008版在线时间
日期:2010-05-01 00:01:152008版在线时间
日期:2011-05-01 00:01:342008版在线时间
日期:2008-06-03 11:59:43ITPUB年度最佳技术原创精华奖
日期:2013-03-22 13:18:30
发表于 2011-3-17 09:11 | 显示全部楼层
1<> 1和or
1=1和and

使用道具 举报

回复
论坛徽章:
0
发表于 2011-3-17 09:53 | 显示全部楼层
怎么酱子的

使用道具 举报

回复
认证徽章
论坛徽章:
58
生肖徽章2007版:马
日期:2009-11-06 23:12:33授权会员
日期:2013-01-10 14:38:592013年新春福章
日期:2013-02-25 14:51:24马自达
日期:2013-08-07 10:54:45红旗
日期:2013-08-09 13:48:48劳斯莱斯
日期:2013-09-12 15:56:37萤石
日期:2013-10-31 08:44:19优秀写手
日期:2013-12-18 09:29:13Jeep
日期:2014-01-14 10:53:432014年新春福章
日期:2014-02-18 16:43:09
发表于 2011-3-17 11:04 | 显示全部楼层
原帖由 bell6248 于 2011-3-16 18:23 发表




这样写的话where条件永远为true, 那返回的结果永远是表a的说有数据!

和如下的语句完全等效:

from a
order by  a.NAME,a.ME,a.AREA_NAME,
              a.C1NAME,a.OWE_TYPE,a.malag,a.mame,ser_nr







是的版主说的不错,这个写法有问题。

使用道具 举报

回复
招聘 : Java研发
认证徽章
论坛徽章:
71
马上加薪
日期:2014-02-19 11:55:14蜘蛛蛋
日期:2012-12-26 18:16:01茶鸡蛋
日期:2012-11-16 08:12:48ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07奥运会纪念徽章:网球
日期:2012-08-23 14:58:08奥运会纪念徽章:沙滩排球
日期:2012-07-19 17:28:14版主2段
日期:2012-07-07 02:21:02咸鸭蛋
日期:2012-03-23 18:17:482012新春纪念徽章
日期:2012-02-13 15:13:512012新春纪念徽章
日期:2012-02-13 15:13:51
发表于 2011-3-17 11:17 | 显示全部楼层
不懂业务的开发不是好的优化DBA

使用道具 举报

回复

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

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时8.5折

【架构革新 高效可控】2020年6月4日~6日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表