锁的级别在表级别。
X:排它锁 S:共享锁
insert、update、delete 会在表上加 X
select 在表上添加 S锁。
操作表的顺序一致可以避免死锁
--多表连接
--假设:员工表:10000000000000 部门:10亿条
--使用临时表。
select * from Employee as E
left join Position as P on E.PositionId = p.PositionId
----优化的原则:就是尽早的释放锁。
select * into #Emp from Employee
select * into #Pos from Position
----
select * from #Emp as E
left join #Pos as P on P.PositionId=E.PositionId
drop table #Emp
drop table #Pos
--全局的临时表:所有的用户的会话都可以访问到。
--全局临时表会在所有用户都断开会话后,会自动释放。
select * into ##Pos from Position--尽量不要全局的。
drop table ##Pos