db.collection.createIndex( { name: -1 } )

Indexes — MongoDB Manual https://docs.mongodb.com/manual/indexes/

The following example creates a single key descending index on the name field:

db.collection.createIndex( { name: -1 } )

The db.collection.createIndex method only creates an index if an index of the same specification does not already exist.

添加索引前

repl_test:PRIMARY> db.ask.stats()
{
"ns" : "test.ask",
"ok" : 0,
"errmsg" : "Collection [test.ask] not found."
}
repl_test:PRIMARY> use superdb
switched to db superdb
repl_test:PRIMARY> db.ask.stats()
{
"ns" : "superdb.ask",
"ok" : 0,
"errmsg" : "Database [superdb] not found."
}
repl_test:PRIMARY> use superpub
switched to db superpub
repl_test:PRIMARY> db.ask.stats()
{
"ns" : "superpub.ask",
"size" : 55947749764,
"count" : 124365523,
"avgObjSize" : 449,
"storageSize" : 40530432000,
"capped" : false,
"wiredTiger" : {
"metadata" : {
"formatVersion" : 1
},
"creationString" : "allocation_size=4KB,app_metadata=(formatVersion=1),block_allocation=best,block_compressor=snappy,cache_resident=false,checksum=on,colgroups=,collator=,columns=,dictionary=0,encryption=(keyid=,name=),exclusive=false,extractor=,format=btree,huffman_key=,huffman_value=,ignore_in_memory_cache_size=false,immutable=false,internal_item_max=0,internal_key_max=0,internal_key_truncate=true,internal_page_max=4KB,key_format=q,key_gap=10,leaf_item_max=0,leaf_key_max=0,leaf_page_max=32KB,leaf_value_max=64MB,log=(enabled=true),lsm=(auto_throttle=true,bloom=true,bloom_bit_count=16,bloom_config=,bloom_hash_count=8,bloom_oldest=false,chunk_count_limit=0,chunk_max=5GB,chunk_size=10MB,merge_max=15,merge_min=0),memory_page_max=10m,os_cache_dirty_max=0,os_cache_max=0,prefix_compression=false,prefix_compression_min=4,source=,split_deepen_min_child=0,split_deepen_per_child=0,split_pct=90,type=file,value_format=u",
"type" : "file",
"uri" : "statistics:table:superpub/collection-43--7896506117540609160",
"LSM" : {
"bloom filter false positives" : 0,
"bloom filter hits" : 0,
"bloom filter misses" : 0,
"bloom filter pages evicted from cache" : 0,
"bloom filter pages read into cache" : 0,
"bloom filters in the LSM tree" : 0,
"chunks in the LSM tree" : 0,
"highest merge generation in the LSM tree" : 0,
"queries that could have benefited from a Bloom filter that did not exist" : 0,
"sleep for LSM checkpoint throttle" : 0,
"sleep for LSM merge throttle" : 0,
"total size of bloom filters" : 0
},
"block-manager" : {
"allocations requiring file extension" : 2067891,
"blocks allocated" : 450483752,
"blocks freed" : 447893857,
"checkpoint size" : 40303841280,
"file allocation unit size" : 4096,
"file bytes available for reuse" : 226144256,
"file magic number" : 120897,
"file major version number" : 1,
"file size in bytes" : 40530432000,
"minor version number" : 0
},
"btree" : {
"btree checkpoint generation" : 420967,
"column-store fixed-size leaf pages" : 0,
"column-store internal pages" : 0,
"column-store variable-size RLE encoded values" : 0,
"column-store variable-size deleted values" : 0,
"column-store variable-size leaf pages" : 0,
"fixed-record size" : 0,
"maximum internal page key size" : 368,
"maximum internal page size" : 4096,
"maximum leaf page key size" : 2867,
"maximum leaf page size" : 32768,
"maximum leaf page value size" : 67108864,
"maximum tree depth" : 5,
"number of key/value pairs" : 0,
"overflow pages" : 0,
"pages rewritten by compaction" : 0,
"row-store internal pages" : 0,
"row-store leaf pages" : 0
},
"cache" : {
"bytes currently in the cache" : 4991378563,
"bytes read into cache" : NumberLong("11308646402066"),
"bytes written from cache" : NumberLong("7591690744135"),
"checkpoint blocked page eviction" : 1879,
"data source pages selected for eviction unable to be evicted" : 174636635,
"hazard pointer blocked page eviction" : 185183,
"in-memory page passed criteria to be split" : 5479,
"in-memory page splits" : 2819,
"internal pages evicted" : 97777107,
"internal pages split during eviction" : 103,
"leaf pages split during eviction" : 85977,
"modified pages evicted" : 291652798,
"overflow pages read into cache" : 0,
"overflow values cached in memory" : 0,
"page split during eviction deepened the tree" : 2,
"page written requiring lookaside records" : 0,
"pages read into cache" : 489122504,
"pages read into cache requiring lookaside entries" : 0,
"pages requested from the cache" : 6291235571,
"pages written from cache" : 450117295,
"pages written requiring in-memory restoration" : 35361,
"unmodified pages evicted" : 208177468
},
"cache_walk" : {
"Average difference between current eviction generation when the page was last considered" : 0,
"Average on-disk page image size seen" : 0,
"Clean pages currently in cache" : 0,
"Current eviction generation" : 0,
"Dirty pages currently in cache" : 0,
"Entries in the root page" : 0,
"Internal pages currently in cache" : 0,
"Leaf pages currently in cache" : 0,
"Maximum difference between current eviction generation when the page was last considered" : 0,
"Maximum page size seen" : 0,
"Minimum on-disk page image size seen" : 0,
"On-disk page image sizes smaller than a single allocation unit" : 0,
"Pages created in memory and never written" : 0,
"Pages currently queued for eviction" : 0,
"Pages that could not be queued for eviction" : 0,
"Refs skipped during cache traversal" : 0,
"Size of the root page" : 0,
"Total number of pages currently in cache" : 0
},
"compression" : {
"compressed pages read" : 391290489,
"compressed pages written" : 252797204,
"page written failed to compress" : 22645,
"page written was too small to compress" : 197293964,
"raw compression call failed, additional data available" : 0,
"raw compression call failed, no additional data available" : 0,
"raw compression call succeeded" : 0
},
"cursor" : {
"bulk-loaded cursor-insert calls" : 0,
"create calls" : 41206,
"cursor-insert key and value bytes inserted" : 294104370212,
"cursor-remove key bytes removed" : 0,
"cursor-update value bytes updated" : 0,
"insert calls" : 555827217,
"next calls" : 1049991570,
"prev calls" : 2,
"remove calls" : 0,
"reset calls" : 2875034908,
"restarted searches" : 13727,
"search calls" : 1948368272,
"search near calls" : 8329976,
"truncate calls" : 0,
"update calls" : 0
},
"reconciliation" : {
"dictionary matches" : 0,
"fast-path pages deleted" : 0,
"internal page key bytes discarded using suffix compression" : 29084289,
"internal page multi-block writes" : 203924,
"internal-page overflow keys" : 0,
"leaf page key bytes discarded using prefix compression" : 0,
"leaf page multi-block writes" : 187019,
"leaf-page overflow keys" : 0,
"maximum blocks required for a page" : 19,
"overflow values written" : 0,
"page checksum matches" : 5052559,
"page reconciliation calls" : 446700880,
"page reconciliation calls for eviction" : 11010578,
"pages deleted" : 37
},
"session" : {
"object compaction" : 0,
"open cursor count" : 264
},
"transaction" : {
"update conflicts" : 1160210
}
},
"nindexes" : 2,
"totalIndexSize" : 4309454848,
"indexSizes" : {
"_id_" : 1232769024,
"md5_1" : 3076685824
},
"ok" : 1
}

  

添加索引

db.ask.createIndex( { keyword: -1 } )

Background Construction

Index Build Operations on a Populated Collection — MongoDB Manual https://docs.mongodb.com/manual/core/index-creation/#index-creation-background

 索引创建耗时,后台创建;

For potentially long running index building operations on standalone deployments, consider the backgroundoption so that the MongoDB  database remains available during the index building operation.

For example, to create an index in the background of the zipcode field of the people collection, issue the following:

db.people.createIndex( { zipcode: 1 }, { background: true } )
 
 

Create an Index的更多相关文章

  1. (七)Create an Index

    Now let’s create an index named "customer" and then list all the indexes again: 现在让我们创建一个名 ...

  2. EXCEPTION:FATAL: UNABLE TO CREATE ‘…GIT/INDEX.LOCK’ FILE EXISTS

    FATAL: UNABLE TO CREATE ‘…GIT/INDEX.LOCK’ FILE EXISTS Hi, Today I will share you my other experience ...

  3. 58. :CREATE UNIQUE INDEX 终止,因为发现对象名称 'dbo.tSysParam' 和索引名称 'PK_tSysParam' 有重复的键

    更改实体对应表结构失败[修改实体对象表结构失败[修改表[tSysParam]的主键信息失败:CREATE UNIQUE INDEX 终止,因为发现对象名称 'dbo.tSysParam' 和索引名称 ...

  4. create ‘/.git/index.lock’: File exists.

    Git – fatal: Unable to create ‘/.git/index.lock’: File exists. fatal: Unable to create ‘/path/my_pro ...

  5. Git – fatal: Unable to create ‘/.git/index.lock’: File exists错误解决办法

    有时候在提交的时候,中间提交出错,导致有文件被lock,所以会报下面的错误: fatal: Unable to create ‘/msg/.git/index.lock’: File exists. ...

  6. Avoiding “will create implicit index” NOTICE

    执行PgSql避免 notice 信息,执行之前加入以下语句调整报错级别即可: SET CLIENT_MIN_MESSAGES = ‘WARNING’;

  7. Sql Server创建主键失败:CREATE UNIQUE INDEX 终止,因为发现对象名称 '[PPR_BasicInformation]' 和索引名称 '[PK_PPR_BasicInformation]' 有重复的键(E)

    这种问题是由于主键设置了唯一性,而数据库中主键列的值又有重复的值,重复值为E,改掉其中一个值就可以了.

  8. 无法CREATE UNIQUE INDEX;找到重复的关键字

  9. 如何使用CREATE INDEX语句对表增加索引?

    创建和删除索引索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引.删除索引可以利用ALTER TABLE或DROP INDE ...

随机推荐

  1. Apache -- phpmyadmin导入文件过大

    方法一: 找到php.ini(或php.ini-pre1.7.2)搜索这3个地方: upload_max_filesize memory_limit post_max_size 将他们后面的值修改成大 ...

  2. Uniprot 数据库-最常用的蛋白质数据库

    Uniprot 数据库是收录信息最全面的蛋白质数据库,包含swissport, uniparc, TrEMBL 3个子数据库: 其中swiss-prot 是手工核对过的 ,非冗余, 有详细注释信息的蛋 ...

  3. yii2的Console定时任务创建

    Yii2的定时任务可以有两种写法,原理都是通过服务器的定时任务去调用 1.通过调用指定的URL访问 就相当于在浏览器中访问 2.通过console调用 下面我们就来说说Console 是如何实现定时任 ...

  4. fildder教程

    转载地址:写得很不错的fildder教程   http://kb.cnblogs.com/page/130367/ Fiddler的基本介绍 Fiddler的官方网站:  www.fiddler2.c ...

  5. Swift coreAnimation 加计时器写的游戏《飞机大战》

    近期在学习swift的动画和图层.就用现学的东西写了个游戏,基本思想 基本功能都实现了.图片都是在网上找得.希望能帮助大家更好的理解动画和图层. 声明下,我是刚開始学习的人,代码写的不好.大家应该都能 ...

  6. Effective C++ Item 18 Make interfaces easy to use correctly and hard to use incorrectly

    1. A good API will provide easy to use interfaces but also provide hard to miss-use interfaces. Usua ...

  7. Java信号量 Semaphore 介绍

    一.介绍 Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用.Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore ...

  8. ring0 根据EThread遍历线程

    ntdll!_ETHREAD +0x000 Tcb : _KTHREAD +0x200 CreateTime : _LARGE_INTEGER 0xff58b008 +0x208 ExitTime : ...

  9. poj_3274 哈希

    哈希 Hash 哈希是一种将复杂数据转换为线性数据从而可以进行随机访问的查找算法. 哈希经常用于对复杂数据(如结构体.对象等)的查找,在使用的时候,需要定义一个Hash函数,将需要查找的复杂对象转化为 ...

  10. TCP关闭连接(为什么会能Time_wait,Close_wait?)

    版权声明:本文由胡文斌原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/102 来源:腾云阁 https://www.qclo ...