/**
* a sql test template
*/
create table #a(id int,
name varchar(10)
)
select * into #b from #a
insert into #a values(4,'a1')
insert into #a values(5,'a2')
insert into #a values(6,'a3')
select * from #a
delete #a
delete #b
declare @pa int
declare @pt datetime
set @pa = 1
while @pa<1000
begin
insert into #a values(@pa,'a_'+ convert(varchar(10),@pa))
set @pa = @pa +1
end
insert #b select * from #a
delete from #b where id<300 or id> 800
print 'start'
select @pt = getDate()
delete from #a
where id in (
select id from #b
)
select getDate()
print 'end'
select datediff(ms,getDate(), @pt)
print 'method 2'
delete #a
delete #b
set @pa = 1
while @pa<1000
begin
insert into #a values(@pa,'a_'+ convert(varchar(10),@pa))
set @pa = @pa +1
end
insert #b select * from #a
delete from #b where id<300 or id> 800
select getDate()
delete #a from #b b
where #a.id = b.id
select getDate()
conclusion:
in maybe optimized by the sybase by default to join
* a sql test template
*/
create table #a(id int,
name varchar(10)
)
select * into #b from #a
insert into #a values(4,'a1')
insert into #a values(5,'a2')
insert into #a values(6,'a3')
select * from #a
delete #a
delete #b
declare @pa int
declare @pt datetime
set @pa = 1
while @pa<1000
begin
insert into #a values(@pa,'a_'+ convert(varchar(10),@pa))
set @pa = @pa +1
end
insert #b select * from #a
delete from #b where id<300 or id> 800
print 'start'
select @pt = getDate()
delete from #a
where id in (
select id from #b
)
select getDate()
print 'end'
select datediff(ms,getDate(), @pt)
print 'method 2'
delete #a
delete #b
set @pa = 1
while @pa<1000
begin
insert into #a values(@pa,'a_'+ convert(varchar(10),@pa))
set @pa = @pa +1
end
insert #b select * from #a
delete from #b where id<300 or id> 800
select getDate()
delete #a from #b b
where #a.id = b.id
select getDate()
conclusion:
in maybe optimized by the sybase by default to join