mysql - 是否可以指示 libmysqld(嵌入式 MySql 数据库引擎)使用内存数据库?

标签 mysql in-memory-database

我有一个包含 MySQL 数据库文件的 zip 存档。解压缩存档内容后,我使用 libmysqld 成功读取了数据库。

我的问题是 - libmysqld 是否理解内存数据库的概念?我可以将我的 zip 存档提取到某个内存结构中,然后让 libmysqld 使用它,而不是磁盘上的文件。可能吗?

最佳答案

是的,你可以建立一个存储引擎 = RAM 的表。其实据我了解,MySQL一般会选择内存的话:http://dev.mysql.com/doc/refman/5.1/en/memory-storage-engine.html .但是,根据我的经验,您必须告诉 mySQL 将磁盘驻留表复制到 RAM 表。也就是说,我从来没有能够做你可能想要的事情:将数据库从磁盘放入 RAM,然后将 MySQL 指向它并期望 MySQL 理解它:例如,我不相信 MySQL 可以理解一个IDX 文件,以前在磁盘上,现在在 RAM 中。

编辑:您可以在一次 MySQL 操作中创建磁盘驻留表并将其复制到 RAM 表中。操作是:

CREATE TABLE Ramtable SELECT * FROM Disktable(不必担心大写:MySQL 与操作/请求无关。)

操作的描述在这里:http://www.plus2net.com/sql_tutorial/sql_copy_table.php .

我懒得编辑我的 C 语言代码并发布它,但它非常简单。只需花 15 或 20 分钟阅读文档,您就会立即掌握。

关于mysql - 是否可以指示 libmysqld(嵌入式 MySql 数据库引擎)使用内存数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8692516/

相关文章:

mysql - SQL LEFT JOIN OR 条件的更好方法

mysql - 为什么 MySQL 显式谓词锁定不允许在谓词锁之外插入语句

amazon-web-services - 内存存储 (Elasticache) 与持久数据存储 (Dynamodb) 之间的读/写延迟比较(以高级数字表示)

in-memory-database - Nosql数据库哪个Key值能保证掉电不丢失数据?

haskell - Haskell 中关系数据的安全建模

oracle - SQL 支持缓存并回退到数据库

MySQL 外键 : Cannot add or update a child row: a foreign key constraint fails

mysql - 如何通过 shell/终端将 50MB 压缩 xml 文件(带有命名空间和完整大小 600MB)上传到 mysql 表中

mysql - 使用子查询(MySQL)时分组的替代方案?

java - 使用内存数据库存储数百万个临时值的效率如何?