这个语句如何优化跪等:
select A0188,A0190,A0101,cast(dp.dept_code as int) as a01depcode,A0177,case when A0107='男' then 2 else 3 end as sex,A0117,A0159,A0148,MobileTel,A01069,A01071,GW_NAME,case when A0191='在职人员' then 9 else 7 end as a0191 from
A01,deptcode dp where
A0101 not in ('丁海峰','夏金娥','贺斌','丁勇','干伟','楼泽男','缪爱君','史历君','施勇','王英','魏兵','徐碧莲','于丽丽','虞益波','庄旭儿',
'黄剑','商伟伟','周牡燕','陈晓敏','方良','刘小琴','吴丹',
'赵文君','严刚','严为伟','来海华','鲍方','陈惠根','陈慧','陈颖敏',
'顾伟东','顾燕','韩修国','何宗国','李萍','刘小北','周朝萍','沈幼龙','王月红','邢凤',
'熊文君','赵双弟','朱燕','陈洁','刘玮','蔡娟','曹小丽','倪诚富','刘娜','张靖','潘超露','田欣',
'吴兴浓','吴亚萍','徐燕燕','杨红儿','叶金海','应慧文','施均君','周林源','高小峰','王惠','冯洋','龚良涛','方成献','董伟良','李财龙','王国金','张忠勇','徐卫','毛志坚','朱蕾','陈仁花')and a0191='在职人员'
and A01.dept_id=dp.dept_id
跪等大神——SQL语句优化
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 清水依恋成 2015-04-09 07:55关注
你应该说明一下优化的侧重点:
只能和你说说经验问题:
not in 肯定没有 in 快,你可以使用取差集的方式实现这个sql,我看应该会快很多,另外A0101 和dept_id是不是有索引呢。解决 无用评论 打赏 举报