sql语句优化之用EXISTS替代IN、用NOT EXISTS替代NOT IN的语句
发布日期:2022-02-03 16:37 | 文章来源:脚本之家
如
我要查询Sendorder表中的冗余数据(没有和reg_person或worksite相连的数据)
sql="selectSendorder.id,Sendorder.reads,Sendorder.addtimefromSendorderwhereSendorder.person_idnotin(selectuser_idfromreg_person)orSendorder.worksite_idnotin(selectidfromworksite)orderbySendorder.addtimedesc"
程序执行时间:40109.38毫秒 sql="selectSendorder.id,Sendorder.reads,Sendorder.addtimefromSendorderwherenotEXISTS(SELECTidFROMreg_personwherereg_person.user_id=Sendorder.person_id)ornotEXISTS(SELECTidFROMworksitewhereworksite.id=Sendorder.worksite_id)orderbySendorder.addtimedesc"
程序执行时间:8531.25毫秒 很明显使用notEXISTS效率高多了
程序执行时间:40109.38毫秒 sql="selectSendorder.id,Sendorder.reads,Sendorder.addtimefromSendorderwherenotEXISTS(SELECTidFROMreg_personwherereg_person.user_id=Sendorder.person_id)ornotEXISTS(SELECTidFROMworksitewhereworksite.id=Sendorder.worksite_id)orderbySendorder.addtimedesc"
程序执行时间:8531.25毫秒 很明显使用notEXISTS效率高多了
版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。
相关文章