MySQL:什么是临时表?

10

以下语句中的临时表有什么作用?它与普通表有何区别?

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个回答

12

临时表只在与服务器的会话期间保留。一旦由于任何原因连接断开,表会自动删除。它们也只对当前用户可见,因此多个用户可以使用相同的临时表名称而无冲突。


3

当连接关闭时,临时表将不再存在。因此,它的作用是用于保存必须在使用之前进行处理的临时结果集。


2

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

当当前数据库会话结束时,临时表会自动删除。


1

支持临时表的存在是为了在基于集合的4GL中允许过程式范例,无论是因为编码者尚未将他们的3GL思维转换为新的范例,还是为了解决性能或语法问题(实际或感知)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接