温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Temporary Table是什么

发布时间:2026-09-05 18:11:31 来源:亿速云 阅读:83 作者:小樊 栏目:数据库

Temporary Table(临时表) 是数据库中的一种特殊表,用于临时存储数据,通常在会话(Session)或事务(Transaction)期间存在,生命周期结束后会自动被数据库清除。


一、核心特点

  1. 生命周期有限
    • 会话级临时表:连接断开后自动删除
    • 事务级临时表:事务提交或回滚后自动删除
  2. 仅当前会话可见
    • 不同用户/会话之间一般互不干扰
  3. 不长期占用存储
    • 通常存放在临时表空间(temp tablespace)
  4. 结构可自定义
    • 可像普通表一样定义字段、索引(部分数据库支持)

二、常见数据库中的临时表

1. MySQL

CREATE TEMPORARY TABLE temp_user (
  id INT,
  name VARCHAR(50)
);
  • 只在当前连接有效
  • 连接关闭后自动删除

2. PostgreSQL

CREATE TEMPORARY TABLE temp_order (
  order_id INT,
  amount NUMERIC
);
  • 默认会话结束删除
  • 可加 ON COMMIT DROP 控制事务级生命周期

3. Oracle

CREATE GLOBAL TEMPORARY TABLE temp_emp (
  emp_id NUMBER
) ON COMMIT DELETE ROWS;
  • ON COMMIT DELETE ROWS:事务级
  • ON COMMIT PRESERVE ROWS:会话级

4. SQL Server

CREATE TABLE #temp (
  id INT
);
  • # 开头:局部临时表(当前会话)
  • ## 开头:全局临时表(所有会话,但较少用)

三、典型使用场景

  • 复杂查询的中间结果存储
  • 存储过程/批处理中的临时计算
  • 避免重复子查询
  • ETL 或报表生成过程中的数据整理

四、临时表 vs 普通表

对比项 临时表 普通表
生命周期 永久
可见性 当前会话 所有用户
性能 通常更快 依赖索引/锁
管理成本

如果你有具体数据库(如 MySQL / Oracle / SQL Server),我可以提供更针对性的用法和示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI