MySQL:什么是临时表?

时间:2010-05-21 21:21:50

标签: mysql sql temp-tables

临时表的目的是什么,如下面的语句?它与常规表有什么不同?

CREATE TEMPORARY TABLE tmptable
SELECT A.* FROM batchinfo_2009 AS A, calibration_2009 AS B
WHERE A.reporttime LIKE '%2010%'
AND A.rowid = B.rowid;

4 个答案:

答案 0 :(得分:12)

临时表仅在与服务器的会话期间保留。一旦连接因任何原因而被切断,表格就会自动丢弃。它们也只对当前用户可见,因此多个用户可以使用相同的临时表名而不会发生冲突。

答案 1 :(得分:3)

连接关闭时,临时表不再存在。因此,它的目的是例如在使用之前保存必须处理的临时结果集。

答案 2 :(得分:2)

临时表主要用于存储需要进一步处理的查询结果,例如,如果需要再次查询或改进结果,或者您的应用程序将在不同的场合使用。通常,存储在临时数据库中的数据包含来自几个常规表的信息(如示例中所示)。

当前数据库会话终止时,将自动删除临时表。

答案 3 :(得分:1)

支持临时表以允许基于集合的4GL中的过程范例,因为编码器没有将其3GL思维模式转换为新范例或解决性能或语法问题(感知或其他)。