300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > mysql查询优化not in mysql not in如何优化

mysql查询优化not in mysql not in如何优化

时间:2020-05-24 17:28:21

相关推荐

mysql查询优化not in mysql not in如何优化

mysql not in如何优化

,你现在写的这个sql是查询到你描述的结果的

c表(xl_account),没看明白是么的的,先不管

a,b 两表通过id进行关联,应该是可以认为id相同则是同一(人)条记录

name不同应可以认为是做了修改,你用not in 则说明是不存在。假如,有2行记录,将名称互换,应该是两行都修改了,但是按照你现在的sql来看是应属于in的范围,not in 无法显示的,也就是查不出来。

所以,首先not in 改为 不等(!=), 才应该是你要找的数据。这样效率也是有所提高的。

若想要找到哪条记录修改,且要查询改前和改后的值,那么没有什么修改空间了,如果要查出哪条修改过,则有select*fromkd_usera

wherenotexists(

select1fromlx_userbwherea.id=b.idanda.name=b.name

)

sql语句求优化,听说NOT IN 语句不好求优化

可以考虑notexists或minus(except)--notexists

SELECTnameFROMtest1a

WHERENOTEXISTS(SELECT1FROMtest2bWHEREa.NAME=b.NAMEandb.NAME<>'admin')

--minus

SELECTnameFROMtest1a

minus

SELECTDISTINCTNAMEFROMtest2WHERENAME<>'admin'

效率方面,一般来not exists和minus要比not in强很多,但是具体情况具析。

可以参考:

通过一个例子,对比几种方法的效率

sql中的not in怎么优化

非到迫不得已不要用,因为not in 不走索引

相关标签推荐:

延展阅读:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。