Company
Date Published
Author
MongoDB
Word count
2673
Language
français
Hacker News points
None

Summary

"` MongoDB 提供了廣泛的索引類型和功能,並具有特定語言的排序順序,以支持對數據的複雜訪問模式。 MongoDB 索引可以隨需創建和刪除,以適應不斷發展的應用程序需求和查詢模式,並且可以在文檔中的任何字段上聲明,包括嵌套在數組中的字段。 使用複合索引可以限制必須檢查的文件數目。 遵循 ESR 規則,可以決定索引中字段的順序。 例如,首先添加那些運行平等查詢的字段,然後是要索引的下一個字段表示查詢的排序順序,最後是表示數據的範圍被訪問的最後一個字段。 應該使用涵蓋的查詢可以直接從索引傳回結果,而不必存取來源文件,因此非常有效率。 對於查詢被覆蓋過濾、排序和/或返回給客戶端所需的所有字段,需要存在於索引中。 在分片集群中,MongoDB 內部需要訪問碎片密鑰的字段。 這意味著只有當碎片鍵是索引的一部分時,覆蓋查詢才可能。 應該小心考慮低基數欄位上的索引,因為對具有少量唯一值(低基數)的字段進行查詢可以返回大型結果集。 消除不必要的索引是資源密集型,可以導致額外的 CPU 和磁碟 I/O 負荷。 萬用字元索引不能取代以工作負載為基礎的索引規劃,對於具有許多臨機操作查詢模式或處理高度多態文件結構的工作負載,萬用字元索引可為您提供許多額外的彈性。 應該使用文本搜索匹配字段中的單詞,能夠直接從索引傳回結果,而不必存取來源文件。 使用分段索引可以限制必須檢查的文件數目。 利用查詢陣列的多重索引鍵索引,可以訪問單個數組元素。 避免使用未保留錨定或已植根的規則運算式,能夠有效率地執行查詢。 避免區分大小寫的正則表達式,因為這些索引速度更快。 使用可在 WiredTiger 儲存引擎中提供的索引最佳化,可以加快磁碟分頁和較低的競爭。 使用說明計劃可以檢查單個查詢索引覆蓋率,提供視覺化工具,以幫助進一步改善您的索引的理解,並提供智能和自動的建議,添加哪些索引。 使用 MongoDB 指南針和阿特拉斯資料瀏覽器,可以列出集合的現有索引,報告索引的名稱和鍵,以及它的類型、大小和任何特殊屬性。