编程那点事编程那点事

专注编程入门及提高
探究程序员职业规划之道!

SQL Server临时表定义及概述

SQL Server临时表是临时对象的一种,临时对象是以#或者##为前缀的,诸如临时存储过程、临时函数等都是临时对象,临时对象都存储在tempdb数据库中。

以一个#号为前缀的临时表是本地的,只有当前用户会话才可以访问,以两个#号也就是##为前缀的临时表是全局的,因此所有用户会话都可以访问该临时表。临时表以会话为边界,只要创建临时表的会话没有结束,临时表就会一直存在,当然如果需要提前销毁临时表,可以使用DROP TABLE命令。

因为临时对象都存储在tempdb数据库中,因此临时表的访问有可能造成物理IO,在修改时也需要生成日志来确保一致性,同时锁机制也是不可缺少的。

临时表和表变量另一个显著区别就是临时表可以创建索引,也可以定义统计数据,因此SQL Server在处理访问临时表的语句时需要考虑执行计划优化的问题。

未经允许不得转载: 技术文章 » 数据库 » SQL Server临时表定义及概述