数据库
首页 > 数据库> > linux-LMDB Windows数据库的最大大小

linux-LMDB Windows数据库的最大大小

作者:互联网

当我将最大数据库大小设置为5G时,在Windows上,即使我仅插入一小块数据,最终数据库文件大小也将变为5G.但是在linux上它可以正常工作,最终的数据库大小与我插入的数据量有关.

这是我用来设置最大数据库大小的API

rc = :: mdb_env_set_mapsize(env,5 * 1024 * 1024 * 1024);

Windows和Linux相同.我需要对Windows进行其他操作吗?

解决方法:

这就是内存映射文件在Windows上的工作方式-如果您想要大小为xxGB的映射,则Windows要求文件的大小为xxGB.如果文件最初小于指定的大小,则Windows会增大文件本身.这是没有办法的.

https://msdn.microsoft.com/en-us/library/windows/desktop/aa366542%28v=vs.85%29.aspx

NTFS可以支持稀疏文件,但是在测试中我们发现Windows稀疏文件的支持比正常文件要慢得多,因此LMDB不使用它.

标签:lmdb,linux,windows
来源: https://codeday.me/bug/20191027/1946651.html