【发布时间】:2010-09-06 20:52:46
【问题描述】:
最近,我开始更改我们的一些应用程序以支持 MS SQL Server 作为替代后端。
我遇到的一个兼容性问题是使用 MySQL 的 CREATE TEMPORARY TABLE 创建内存表,这些表保存数据以便在会话期间非常快速地访问,而无需永久存储。
MS SQL 中的等价物是什么?
一个要求是我需要能够像使用任何其他表一样使用临时表,尤其是 JOIN 它与永久表。
【问题讨论】:
-
我希望您知道,在 MySQL 中,用户创建的临时表默认情况下不在内存中!仅当您在 CREATE TABLE 语句中指定 ENGINE=MEMORY 时,该表才会在内存中。否则,临时表将使用默认存储引擎创建,很可能是 MyISAM 或 INNODB,并保存在磁盘上。不要将用户创建的表与 MySQL 在复杂连接期间创建的内部临时表混淆。如果可能,它们会在内存中创建。
标签: mysql sql-server rdbms portability