a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > MongoDB > 正文

MongoDB教程:MongoDB之八大優化技巧

2020-03-14 13:23:05
字體:
來源:轉載
供稿:網友

技巧一、盡量減少磁盤訪問

內存訪問要比磁盤訪問快得多。所以使用優化的本質就是盡可能地減少對磁盤的訪問。

內存的讀取速度要比磁盤速度快一百萬倍。讀磁盤要消耗很長時間。幾種簡單的辦法:

使用SSD(固態硬盤);增加內存可以減少對硬盤的讀取,讓常用的文檔在內存中;

技巧二、使用索引減少內存占用

索引是有序的,所以不必遍歷全部項。當查詢時候會先根據索引查到索引中的結果,然后符合條件的文檔加載到內存中,從而減少內存占用。

技巧三、不要到處使用索引

這里要注意,不是所有的查詢都可以用索引的。索引一般用在返回結果只是總體數據的一小部分的時候。根據經驗,一旦要大約返回集合一半的數據就不要使用索引了。

若是已經對某個字段建立了索引,又想在大規模模糊查詢時候不使用它(因為使用時候可能較低效)可以使用自然排序,用{“$natural”:1}來強制mongodb禁用索引。自然排序就是“按照磁盤上的存儲順序返回數據”,這樣mongodb就不會使用索引了。

技巧四、索引覆蓋查詢

如果只想返回某些字段且所有這些字段都可放在索引中,mong odb可以做索引覆蓋查詢(covered index query),這種查詢不會訪問指針指向的文檔,二是直接用索引的數據返回結果。

例如: db.foo.ensuIndex({x:1, y :1,z:1})

現在查詢被索引的字段,并只要求返回這些字段,mongodb就沒必要加載整個文檔。

db,foo.find({x: ceriteria, y: ceriteria})

這樣的查詢僅僅訪問了索引的數據,而沒有訪問整個集合的數據;

技巧五、使用復合索引加快多個查詢

查詢只要和索引開頭部分匹配就能利用索引,所以創建索引時要考慮這些查詢依賴的所有字段。并且根據各個字段查詢的頻率定義索引字段順序;

技巧六、通過建立分級文檔加快掃描

將數組組織有層次話,不僅可以讓其看著更有條理,還可以讓mongodb在偶爾沒有索引時候也能快速查詢。

如果文檔沒有層次結構的話,mongodb必須遍歷文檔中的每個字段。合理使用層次可以減少mongodb對字段的訪問。

技巧七、AND型查詢要點

假設要查詢滿足條件A,B和C的文檔,滿足A的文檔有4萬,滿足B的有9K,滿足C的是200,那么應該用C and B and A 這樣只需要查詢200條記錄。

這就是說要是已知某個查詢條件更加苛刻,那要將放置在最前面;

技巧八:OR型查詢要點

OR型查詢與AND查詢恰好相反,匹配最多的查詢語句放在最前面,因為Mongodb每次都要匹配不在結果集中的文檔。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 欧洲精品久久久 | 色呦呦日韩 | 久久久人成影片一区二区三区 | 一区二区精品视频 | 男人久久天堂 | 色综合一区二区三区 | 青青艹在线视频 | 日韩精品一区二区三区在线 | 国产精品96久久久久久久 | www.亚洲一区二区 | 日韩成人一区二区 | 国产一区二区久久久 | 天天摸夜夜操 | 日本综合视频 | 99精品欧美一区二区三区综合在线 | 久久精品久久精品 | 最新午夜综合福利视频 | 韩国三级中文字幕hd久久精品 | 色婷婷综合在线视频 | 成人水多啪啪片 | 91麻豆精品国产91久久久更新时间 | 国产一区二区三区久久99 | 亚洲欧美日韩在线一区二区 | 日韩av在线一区二区 | www黄| 国产韩国精品一区二区三区 | 日日摸日日爽 | 亚洲大尺度网站 | 欧美在线视频网站 | 亚洲精品一区二区三区 | 久久女人网 | 在线天堂视频 | 久草新 | 一级片在线观看 | 人人干人人干人人 | 欧美综合一区二区 | 日本免费一区二区视频 | 欧美一区在线看 | 国产精品多久久久久久情趣酒店 | 欧美日性 | 亚洲精品久久久久久国产精华液 |