共計 748 個字符,預計需要花費 2 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
丸趣 TV 小編給大家分享一下 MongoDB 中使用模式構建之屬性模式的,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
簡單描述:
直接進入了解屬性模式。它特別適合以下的情況:
有一個大的文檔,但是它其實擁有一些相似的字段,而且這些字段的一個子集具有相同的特征,最后其實需要對這些子集字段進行排序或者查詢;
實際上也不是所有文檔都會出現需要的排序字段;
或者上述兩個條件均滿足
事實上考慮到性能方面的原因,為了優化搜索可能需要許多索引才能照顧到這些子集。但是創建越多的索引也只會導致性能的下降。屬性模式為這種情況提供了一個很好的解決方案。
實例:
一個訂單數據文檔,其實是有很多需要記錄的時間,比如創建時間,支付時間,發貨時間等等。在設計數據結構的時候當然第一時間就會想到如圖:
實際上這種設計在時間類型比較少的情況下是沒有太大問題,但是結合了實際業務場景,一張訂單的時間當然不會太少,有時候為了優化排序,不得不建立相應的所以,現在問題就來的,根據這么多字段逐個建立索引那可能建立很多,這樣反而會降低整體查詢的性能。那么這時候使用屬性模式就很合適了。如下圖:
如果訂單數據結構考慮使用了這種模式后,就不需要反復為相似的字段子集建立索引,大大提高查詢效率。
結論:
屬性模式針對每個文檔中許多類似字段提供了更簡單的文檔索引。通過將這個數據子集移動到一個鍵值子文檔中,我們可以使用不確定的字段名,為信息添加額外的限定符,并更清楚地說明原始字段和值的關系。當我們使用屬性模式時,由于需要的索引更少,查詢變得更簡單更快。
看完了這篇文章,相信你對“MongoDB 中使用模式構建之屬性模式的”有了一定的了解,如果想了解更多相關知識,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!
向 AI 問一下細節