强制整个MySQL数据库在内存中

强制整个MySQL数据库在内存中,第1张

概述强制整个MySQL数据库内存

为了运行大量与数据库交互的testing,我想做两件事情:

我想复制数据库的架构而不复制其数据。 我可以用一个脚本来抓取数据库中每个表的CREATE table语句。

在创build这个数据库时,我想强制它在内存中是100%。

我被困在如何做第2部分 – 是否有一个更简单的方法来做到这一点,而不是指定每个表的引擎? 不知何故,这似乎是一个糟糕的做法。

如何导入多个转储文件到windows中的MysqL?

检测在Java中读取的文件

如何优化大内存数据库的分页

Postgresql – FATAL:用户“myuser”的身份valIDation失败

项目使用两个不同版本的sql Server

C中的问题 – 如何擦除数据库结构中的数组

用PHP连接到sql Server数据库

在unix中运行sqlplus后台

如果数据库最终依赖于 *** 作系统,数据库如何保证持久性?

MysqL – ODBC连接失败,Workbench连接工作

在/dev/shm (ubuntu | debian)中创建数据库,它将在RAM中。 它可以增长到0.5的可用内存。

正如dtmilano所说,你可以把它放在一个tmpfs挂载的文件系统上。 它不一定是/ dev / shm,但这是tmpfs通常安装的地方。

你可以在任何地方创建一个新的:

mount none -t tmpfs /path/to/dir

如果它填满所有可用的RAM,它将使用交换作为备份。

把它放在/ etc / fstab在启动时重新挂载。 只要记住,这是一个RAM磁盘,所以每次重新启动时它都是空的。 请参阅: http : //www.howtoforge.com/storing-files-directorIEs-in-memory-with-tmpfs

或者,如yuxhuang所建议的,您可以创建一个MEMORY类型的表。 它也清空重新启动,虽然表定义依然存在。 但是, MEMORY表类型有一些限制。 例如,它使用固定大小的行,所以不允许使用text和blob列, varchar也不是可变长度。 请参阅: http : //dev.MysqL.com/doc/refman/5.0/en/memory-storage-engine.HTML

SET storage_engine=MEMORY;

这将设置当前会话的默认存储引擎。

如果您使用的是windows,那么可以在数据库创建脚本中创建添加MEMORY参数的表,如下所示:

CREATE table IF NOT EXISTS `user` ( `ID` varchar(23) NOT NulL,`username` varchar(250) NOT NulL,... ) ENGINE=MEMORY DEFAulT CHARSET=utf8;

总结

以上是内存溢出为你收集整理的强制整个MySQL数据库在内存中全部内容,希望文章能够帮你解决强制整个MySQL数据库在内存中所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1266953.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-08
下一篇2022-06-08

发表评论

登录后才能评论

评论列表(0条)

    保存