官术网_书友最值得收藏!

How it works...

In step 1, we used the mongoimport utility to import our sample dataset from chapter_2_mock_data.csv which is a comma separated file. We'll discuss more about mongoimport in later chapters, so don't worry about it for now. Once we import the data, we execute the mongo shell and confirm that we've indeed imported our sample dataset (100,000 documents).

In step 4, we run a simple find() function chained with the explain() function. The explain() function shows us all the details about the execution of our query, especially the executionStats. In this, if you look at the value of key executionStages['stage'], you can see it says COLLSAN. This indicates that the entire collection was scanned, which can be confirmed by looking at the totalDocsExamined key's value, which should say 100,000. Clearly our collection needs an index!

In step 5, we create and index by calling db.mockdata.createIndex({'city': 1}). In createIndex() function, we mention the city field with value of 1 which tells MongoDB to create an ascending index on this key. You can use -1 to create a descending index, if need be. By executing this function, MongoDB immediately begins creating an index on the collection.

Index creation is an intensive blocking call which means database operations will be blocked until the index is created. We will examine how to create background indexes in later recipes, in this chapter.

In step 6, we execute the exact same find() query, as we did in step 4, and upon inspecting the executionStats, you can observe that the value of key executionStages now contains some more details. Especially, the value of stage key is FETCH and the inputStages['stage'] is IXSCAN. In short, this indicates that the query was fetched from by running an index scan. As this was a direct index hit, the value of totalDocsExamined is 1.

主站蜘蛛池模板: 平安县| 鄂尔多斯市| 龙胜| 连平县| 万载县| 荣昌县| 金昌市| 合江县| 苍溪县| 黔东| 郴州市| 夏河县| 通许县| 泽普县| 盐城市| 安西县| 井陉县| 江西省| 宣武区| 田阳县| 嘉鱼县| 廊坊市| 云梦县| 秭归县| 荆门市| 襄城县| 华容县| 尖扎县| 桂阳县| 沐川县| 大庆市| 平远县| 平定县| 古浪县| 阿巴嘎旗| 山丹县| 皮山县| 彝良县| 大石桥市| 兴安盟| 嵊泗县|