>데이터 베이스 >MySQL 튜토리얼 >not in 与in 做大数据的时候可以用来替换下

not in 与in 做大数据的时候可以用来替换下

WBOY
WBOY원래의
2016-06-07 14:57:231795검색

之前做数据转储的时候用到的方法。当时是几十万的数据,用join后速度提升好几倍,节约了大量时间。 如果数据量小的话这种没什么意思 可以依次类推出in的sql方法 无 create table #table1 (name varchar(20),dis varchar(100))create table #table2 (name varc

之前做数据转储的时候用到的 方法。当时是几十万的数据,用join后 速度提升好几倍,节约了大量时间。
如果数据量小的话 这种没什么意思
可以依次类推出 in 的sql方法
create table #table1 (name varchar(20),dis varchar(100))
create table #table2 (name varchar(20),dis varchar(100))

insert into #table1 select 'a','b' union select 'b','c' union select 'd','e' union select 'f','g'
insert into #table2 select 'a1','b1' union select 'b1','c1' union select 'd1','e1' union select 'f1','g1'

select * from #table2 where dis not in(select name from #table1)

select * from #table2  as a
left join #table1 as b on a.dis=b.name
where b.name is null

/*
select * from 表A where 列 not in(select 列 from 表B)

替换方法 表A 与 表B 进行join关联  让B 列为null时 则表A有数据 表B没有。
之前做数据转储的时候想到的,数据量很大的时候可以这样 效率很高

select * from 表A  as a
left join 表B as b on a.列=b.列
where b.列 is null
*/
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.