我有一个包含MySQL数据库文件的压缩归档文件。在解压归档内容之后,我使用libmysqld成功地读取了数据库。
我的问题是- libmysqld是否理解内存数据库的概念?我可以将zip压缩包解压到某个内存结构中,然后让libmysqld处理它,而不是磁盘上的文件。有可能吗?
发布于 2012-01-01 17:48:37
可以,您可以使用storage engine = RAM设置一个表。事实上,据我所知,如果可以的话,MySQL通常选择内存:http://dev.mysql.com/doc/refman/5.1/en/memory-storage-engine.html。但是,根据我的经验,您必须告诉mySQL将磁盘驻留的表复制到内存表。也就是说,我从来没有做过您想要的事情:把数据库从磁盘放到内存中,然后将MySQL指向它,并期望MySQL能理解它:例如,我不相信MySQL可以找到一个曾经在磁盘上,现在在内存中的IDX文件。
RAM:您可以在一次MySQL操作中创建磁盘驻留的表并将其复制到表中。操作如下:
CREATE TABLE Ramtable SELECT * FROM Disktable (不必担心大小写: MySQL是与大小写无关的wrt操作/请求。)
该操作的描述如下:http://www.plus2net.com/sql_tutorial/sql_copy_table.php。
我懒得编辑我的C语言代码并发布它,但它超级简单。只需花15到20分钟阅读文档,你就会马上掌握它。
https://stackoverflow.com/questions/8692516
复制相似问题