我正在考虑将将我的MySQL数据库的数据库的放到一个ramdisk上放在Linux下。这样做的原因是为了绕过4gb内存中临时表的最大值 in MySQL。我唯一担心的是,如果基于MyISAM的ramdisk临时表会变得比ramdisk更大,那么如何避免磁盘空间外的错误?你能不能--如何创建一个溢出机制?在这种机制中,内存的大小就是内存的大小加上硬盘上的空闲空间。如果ramdisk将满,其余的将被写入硬盘。
GLOBAL TEMPORARY TABLE tempchoices LIKE CHOICES NOT LOGGED IN importtemp ON COMMIT PRESERVE ROWS创建的临时表)时,我的所有磁盘空间都会被使用,并且我会收到“文件系统是满的”错误。调整磁盘大小不是选项之一。这两个表都包含约60万个条目。DB2版本为10.5,我在Linux和Windows服务器上都观察到了这一点。