Jetaimelrz 2015-04-07 08:16 采纳率: 0%
浏览 1754

跪等大神——SQL语句优化

这个语句如何优化跪等:
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

  • 写回答

1条回答 默认 最新

  • 清水依恋成 2015-04-09 07:55
    关注

    你应该说明一下优化的侧重点:
    只能和你说说经验问题:
    not in 肯定没有 in 快,你可以使用取差集的方式实现这个sql,我看应该会快很多,另外A0101 和dept_id是不是有索引呢。

    评论

报告相同问题?

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题