database - 内存数据库如何避免使用虚拟内存

标签 database database-design in-memory-database

由于内存由操作系统管理,内存数据库进程如何避免其在物理内存中的页面被移动到磁盘上的虚拟内存?

最佳答案

在某些系统上,可以将页面固定在内存中,但不鼓励这样做 - 您正在打败操作系统的虚拟内存管理器,这可能有利于 IMDS,但不利于整体系统性能。

我们 (McObject) 的建议是确保您有足够的物理内存,以便操作系统不会将内存中的数据库页面交换到交换空间。

如果无法确保您有足够的物理内存,那么您最好创建一个传统的持久数据库,并使用 DBMS 的工具创建尽可能大的数据库缓存(同样,在限制范围内物理内存),并允许 DBMS 将页面移入和移出它自己的缓存。它将比操作系统更智能地执行此操作。

关于database - 内存数据库如何避免使用虚拟内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48570085/

相关文章:

database-design - 在数据库中存储文件大小

database - 对具有相同域的大量集合执行子集测试操作的最快方法

.net-core - 您可以将 FakeItEasy 与 EF Core 一起使用吗

sql - 如何避免数据库中的读锁?

java - 最快的 Java 自由可再发行数据库

c# - 检查属性是否可以延迟加载/是否可用而无需捕获异常

mysql - 用于 mahout 推荐的内存数据库

c - 如何用C语言调试一个简单的数据库?

mysql - 使用 PHP 和 Mysql 进行库存管理

c# - 在 C# 中,有什么方法可以将内存中的文件作为内存中的 SQLite 数据库与 System.Data.SQLite 链接?