1

mongodb的部分索引和稀疏索引

 3 years ago
source link: https://blog.csdn.net/gzlaiyonghao/article/details/113857699
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
  • 部分索引(partial index)是稀疏索引(sparse index)的超集,也就是说,能用稀疏索引完成的事,用部分索引也能完成。
  • 两种索引理论上都可以让索引的尺寸(内存和硬盘占用)更小,另外也可以优化写操作的性能。
  • 部分索引可以根据不同的业务需求在同一个字段上建立不同的索引,可以达到最佳性能。而稀疏索引只能利用字段是否存在来决定是否索引该文档,灵活性上也差了一截。
  • 复合稀疏索引比较尴尬,比如建议a、b两个字段的复合稀疏索引,只要任意一个字段存在,就会被索引,显然不如部分索引可以实现仅a或仅b或仅a、b存在才索引更贴近需求。
  • 部分索引和稀疏索引都有可能不被查询器选用,所以要在确定使用某一个部分索引或稀疏索引的查询上用 hint 指定使用的索引。
  • 建立部分索引或稀疏索引的时候强烈建议自定义索引名,索引名应当遵循编程中变量名的起名原则,指明索引的用途,便于维护,当读到代码中的 hint 参数时也能够更好地理解。
  • 这篇文章不错, Using Partial and Sparse Indexes in MongoDB

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK