当前位置:Gxlcms > mysql > notin与in做大数据的时候可以用来替换下

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

时间:2021-07-01 10:21:17 帮助过:60人阅读

之前做数据转储的时候用到的方法。当时是几十万的数据,用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
*/

人气教程排行