临时表与实体表类似,存储在系统数据库 tempdb 中,当不再使用临时表时,临时表会自动删除

  • 临时表空间利用虚拟内存,减少了硬盘的 I/O 次数,提高系统效率
  • 临时表在事务完毕或会话完毕数据库会自动清空
  • 存放路径: tempdb —> 临时表

分类

本地临时表

  1. SELECT * INTO #本地临时表名 FROM 表名;
  • 只有创建本地临时表的数据库有表的访问权限,其他连接不能访问该表
  • 本地临时表命名可以相同,但是表之间相互独立
  • 本地临时表不支持跨连接查询,只能在当前连接(或者当前查询页面)访问。即新建查询后面的 ID 不要不同

全局临时表

  1. SELECT * INTO ##全局临时表名 FROM 表名;
  • 所有数据库连接均可使用全局临时表,当所有引用临时表的数据库连接断开后会自动删除
  • 全局临时表命名不能重复
  • 支持跨连接查询

用途

  • 在比较复杂的嵌套查询中是可以提高查询效率的