Heim >Datenbank >MySQL-Tutorial >not in 与in 做大数据的时候可以用来替换下

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

WBOY
WBOYOriginal
2016-06-07 14:57:231792Durchsuche

之前做数据转储的时候用到的方法。当时是几十万的数据,用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
*/
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn