Optimization Tips | Tip #27: AND-queries should match as little as possible as fast as possible

试想 我们用A B C 三个标准进行文档查询,现在,比方说,A匹配40000个文档,B匹配9000个文档,C 只有200个文档.如果我们使用这三个标准在MongoDB中进行顺序查询,这不会非常高效.请见图:
Optimization Tips | Tip #27: AND-queries should match as little as possible as fast as possible_第1张图片
Figure 3-5.色彩相对较暗的区域是每一步都要进行查询的,从较大的结果集中查询较小的结果集意味着查询相当大的文档.

如果我们按照C B A的顺序,对于B和C来说,我们只要最多查询200个文档.
请见图:

Optimization Tips | Tip #27: AND-queries should match as little as possible as fast as possible_第2张图片


Figure 3-6 通过C的查询,我们大大减少了日后查询的空间


正如你看到的,这给带来了大量的工作,如果你知道某些标准将会减少文档的匹配,那请让这个标准先查询(除非被建立索引了)


原版书 <<50 Tips and Tricks for MongoDB Developers>>   地址:http://oreilly.com/catalog/0636920019893

皮皮书屋下载地址http://www.ppurl.com/2011/05/50-tips-and-tricks-for-mongodb-developers.html

本书的所有翻译地址: http://blog.csdn.net/crazyjixiang/article/category/858638

翻译目的MongoDB资料国内很少,书就更不必说了,借助对MongoDB的理解为大家做点贡献,如果有翻译有误的地方请指正,不能误入子弟,谢谢!

译者:Crazybaby 





原文链接: http://blog.csdn.net/crazyjixiang/article/details/6689977

你可能感兴趣的:(Optimization Tips | Tip #27: AND-queries should match as little as possible as fast as possible)