欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MongoDB數(shù)據(jù)庫中索引(index)詳解

 更新時間:2016年11月28日 08:51:01   作者:運維部落  
本文給大家詳細介紹了MongoDB數(shù)據(jù)庫中的索引的知識,優(yōu)缺點以及使用技巧等方面,非常細致,有需要的小伙伴可以參考下

索引:特殊的數(shù)據(jù)結(jié)構(gòu),存儲表的數(shù)據(jù)的一小部分以實現(xiàn)快速查詢

優(yōu)點:

1、大大減少了服務器需要掃描的數(shù)據(jù)量

2、索引可以幫助服務器避免排序或使用臨時表

3、索引可以將隨機io轉(zhuǎn)換為順序io

索引評估:三星(非常好)

一星:索引如果能將相關(guān)的記錄放置到一起

二星:索引中數(shù)據(jù)的存儲順序與查找標準中順序一致

三星:如果索引中包含查詢中所需要的全部數(shù)據(jù):(覆蓋索引)

DBA書:關(guān)系型數(shù)據(jù)庫索引設計與優(yōu)化

索引類別:

順序索引

散列索引:將索引映射至散列桶上,映射是通過散列函數(shù)進行的

評估索引的標準:

訪問類型:做等值比較用散列索引,用范圍比較時用順序索引

訪問時間:

插入時長:

刪除時長:

空間開銷:

順序索引:

聚集索引:如果某記錄文件中的記錄順序是按照對應的搜索碼指定的順序排序,聚集索引頁成為主索引

非聚集索引:搜索碼中的指定的次序與記錄文件中的記錄次序不一致

有聚集索引的數(shù)據(jù)文件,也叫做索引順序文件

根據(jù)索引中是否為每個記錄相應的創(chuàng)建索引項,可分為稠密索引和稀疏索引

多級索引:(但對頻繁修改的數(shù)據(jù),性能很差)

輔助索引必須是稠密索引

B+樹索引:順序索引

Balance Tree:平衡樹索引

順序索引的特性:

全值匹配:Name='user12'

匹配最左前綴:Name LIKE  'User1%',無效:Name LIKE '%User1%'

匹配列前綴:Name LIKE  'User1%',無效:Name LIKE '%User1%'

匹配范圍值

精確匹配某一列并范圍匹配另外一列:

只訪問索引的查詢

散列索引:

散列函數(shù):

分布隨機

分布均勻

適用場景:

精確匹配:=,IN(),<=>

Mysql:全文索引,fulltext

sphinx,lucene

空間索引:必須使用空間索引函數(shù)獲取相應的查詢結(jié)果

主鍵、唯一鍵

Mysql:創(chuàng)建索引

create index index_name on table (col1,…)

alter table add index

alter table drop index

drop index index_name from table

show indexes from table

Mongodb創(chuàng)建索引:

id字段就有主索引

在Name創(chuàng)建索引:

查看所有:

默認在id上創(chuàng)建了主索引

唯一索引:

db.collection.ensureIndex({"user_id":1},{unique:true})

sparse index:稀疏索引

db.collection.ensureIndex({"user_id":1},{sparse:true})

Mongodb:

索引可以創(chuàng)建在collection上,也可以創(chuàng)建在子文檔中

Mongodb索引類型:

單鍵索引

組合索引

多鍵索引:

空間索引

文本索引

hash索引

hash索引:

刪除索引:

或者

db.mycoll.dropIndexes():刪除mycoll的所有索引

查詢過程:explain

掃描了100個數(shù)據(jù)

創(chuàng)建索引后,只掃描一個數(shù)據(jù)

指定索引:

創(chuàng)建組合索引:

通過組合索引查詢:

> db.testcoll.find({Name:'User19'}).hint({Name:1,Age:1}).explain()
{
 "cursor" : "BtreeCursor Name_1_Age_1",
 "isMultiKey" : false,
 "n" : 1,
 "nscannedObjects" : 1,
 "nscanned" : 1,
 "nscannedObjectsAllPlans" : 1,
 "nscannedAllPlans" : 1,
 "scanAndOrder" : false,
 "indexOnly" : false,
 "nYields" : 0,
 "nChunkSkips" : 0,
 "millis" : 0,
 "indexBounds" : {
  "Name" : [
   [
    "User19",
    "User19"
   ]
  ],
  "Age" : [
   [
    {
     "$minElement" : 1
    },
    {
     "$maxElement" : 1
    }
   ]
  ]
 },
 "server" : "stu:27017"
}

相關(guān)文章

  • MongoDB的安裝方法圖文教程

    MongoDB的安裝方法圖文教程

    MongoDB 是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。本文給大家介紹了mongodb的安裝教程,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-11-11
  • MongoDB安裝圖文教程

    MongoDB安裝圖文教程

    這篇文章主要為大家詳細介紹了MongoDB安裝圖文教程,分為兩大部分為大家介紹下載MongoDB和安裝MongoDB的方法,感興趣的小伙伴們可以參考一下
    2016-07-07
  • mongoDB中CRUD的深入講解

    mongoDB中CRUD的深入講解

    這篇文章主要給大家介紹了關(guān)于mongoDB中CRUD的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用mongoDB具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • MongoDB最大連接數(shù)設置失效的異常分析過程與解決方法

    MongoDB最大連接數(shù)設置失效的異常分析過程與解決方法

    mongodb最大連接數(shù)是20000。所以業(yè)界流傳一段話,千萬級以下的用mysql、千萬級以上的用mongodb,億級以上的用hadoop。下面這篇文章主要給大家介紹了關(guān)于MongoDB最大連接數(shù)設置失效的異常分析過程,需要的朋友可以參考下
    2018-09-09
  • 使用zabbix監(jiān)控mongodb的方法

    使用zabbix監(jiān)控mongodb的方法

    MongoDB 是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。通過本文給大家介紹使用zabbix監(jiān)控mongodb的方法,需要的朋友參考下
    2016-02-02
  • MongoDB中的push操作詳解(將文檔插入到數(shù)組)

    MongoDB中的push操作詳解(將文檔插入到數(shù)組)

    $push操作符添加指定的值到數(shù)組中,下面這篇文章主要給大家介紹了關(guān)于MongoDB中push操作(將文檔插入到數(shù)組)的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • 使用mongodb實現(xiàn)簡單的讀寫操作

    使用mongodb實現(xiàn)簡單的讀寫操作

    這篇文章主要給大家介紹了如何使用mongodb實現(xiàn)簡單的讀寫操作,本文適合初學者,特別是剛剛安裝了mongodb數(shù)據(jù)庫的朋友,或在atlas剛拿到免費集群的朋友,文中有詳細的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • Spark整合Mongodb的方法

    Spark整合Mongodb的方法

    Spark 是一個通用,快速,適用于大規(guī)模數(shù)據(jù)的處理引擎。接下來通過本文給大家分享Spark整合Mongodb的方法,感興趣的朋友一起看看吧
    2017-11-11
  • 使用命令方式安裝MongoDB指南(Windows、Linux)

    使用命令方式安裝MongoDB指南(Windows、Linux)

    這篇文章主要介紹了使用命令方式安裝MongoDB指南,本文分別介紹Windows、Linux下使用命令的方式安裝mongodb,需要的朋友可以參考下
    2015-04-04
  • SpringBoot?集成MongoDB實現(xiàn)文件上傳功能

    SpringBoot?集成MongoDB實現(xiàn)文件上傳功能

    這篇文章主要介紹了SpringBoot?集成MongoDB實現(xiàn)文件上傳,主要通過示例代碼記錄文件上傳的步驟,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-04-04

最新評論