微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MongoDB WiredTiger 在 _id 字段上使用聚集索引?

如何解决MongoDB WiredTiger 在 _id 字段上使用聚集索引?

我知道 MongoDB WiredTiger 使用聚集索引来存储数据。 WiredTiger 是在 _id 字段上使用聚集索引还是 WiredTiger 生成的另一个键?

解决方法

WiredTiger 使用类似二叉树的结构来存储文档。它是一个基本的键值存储,其中键是内部生成的标识符,值是文档。

所有索引,包括 _id 字段上的索引,都将字段值映射到内部标识符。

,

是的,它们被聚集并存储在wiredtiger文件中。对于集合上定义的每个索引,wiredtiger 创建和管理单独的索引文件。

“在MongoDB 3.2之前,存储层只有B-tree。为了提高可扩展性,MongoDB在收购WiredTiger后在以后的版本中增加了LSM Tree”[1]

当我们有随机插入的工作负载时,LSM 树可以提供更好的性能,否则会溢出我们的页面缓存并开始从磁盘中分页数据以保持我们的索引最新。

要覆盖默认的有线老虎存储类型配置:

mongod --wiredTigerIndexConfigString "type=lsm,block_compressor=zlib"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。