gpt4 book ai didi

leveldb - 有没有办法更改leveldb中的键?

转载 作者:行者123 更新时间:2023-12-03 22:16:08 26 4
gpt4 key购买 nike

是否有一些如何仅更改 leveldb 数据库中键的值?

我已经有一个包含 1800 万行的数据库,我想更改键以添加前缀。

我在 node.js 中使用 leveldb。但任何解决方案都必须适合。

我已经尝试过重建这个数据库,但它花费了太多时间。

最佳答案

LevelDB 的工作方式是,每个“Put”都是创建新状态的写入。
如果您执行覆盖现有值的“放置”,您将有两个
复制直到压缩消除了旧值。

实际上,这意味着重建将是唯一的选择。

为了使其更快,您可以尝试:

  • 扫描现有数据库,并通过线性扫描重建
    通过键空间。您的新数据将按排序插入
    订单,这可能有助于加快速度。
  • 分批插入。 LevelDB 的许多变体会减慢写入到
    适应压实。在股票LevelDB,你的作家会 sleep
    每当需要休眠时为 1 毫秒,这与批处理中的写入次数无关。
  • 增加写入缓冲区大小。我发现 16MB-32MB 是一个很好的“甜蜜点”。
  • 考虑使用 HyperLevelDB .我们遇到了一些
    写入 LevelDB 的性能问题,并进行了一些更改
    提高性能。你会看到你的插入速度提高了,
    这可以帮助您更快地重建 - 有时显着
    快点。
  • 关于leveldb - 有没有办法更改leveldb中的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21102250/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com