MongoDB中使用模式構(gòu)建之屬性模式的

小編給大家分享一下MongoDB 中使用模式構(gòu)建之屬性模式的,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的龍里網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

簡單描述:

直接進(jìn)入了解屬性模式。它特別適合以下的情況:

  1. 有一個大的文檔,但是它其實擁有一些相似的字段,而且這些字段的一個子集具有相同的特征,最后其實需要對這些子集字段進(jìn)行排序或者查詢;

  2. 實際上也不是所有文檔都會出現(xiàn)需要的排序字段;

  3. 或者上述兩個條件均滿足
    事實上考慮到性能方面的原因,為了優(yōu)化搜索可能需要許多索引才能照顧到這些子集。但是創(chuàng)建越多的索引也只會導(dǎo)致性能的下降。屬性模式為這種情況提供了一個很好的解決方案。

實例:

一個訂單數(shù)據(jù)文檔,其實是有很多需要記錄的時間,比如創(chuàng)建時間,支付時間,發(fā)貨時間等等。在設(shè)計數(shù)據(jù)結(jié)構(gòu)的時候當(dāng)然第一時間就會想到如圖:
MongoDB 中使用模式構(gòu)建之屬性模式的

實際上這種設(shè)計在時間類型比較少的情況下是沒有太大問題,但是結(jié)合了實際業(yè)務(wù)場景,一張訂單的時間當(dāng)然不會太少,有時候為了優(yōu)化排序,不得不建立相應(yīng)的所以,現(xiàn)在問題就來的,根據(jù)這么多字段逐個建立索引那可能建立很多,這樣反而會降低整體查詢的性能。那么這時候使用屬性模式就很合適了。如下圖:

MongoDB 中使用模式構(gòu)建之屬性模式的如果訂單數(shù)據(jù)結(jié)構(gòu)考慮使用了這種模式后,就不需要反復(fù)為相似的字段子集建立索引,大大提高查詢效率。

結(jié)論:

屬性模式針對每個文檔中許多類似字段提供了更簡單的文檔索引。通過將這個數(shù)據(jù)子集移動到一個鍵值子文檔中,我們可以使用不確定的字段名,為信息添加額外的限定符,并更清楚地說明原始字段和值的關(guān)系。當(dāng)我們使用屬性模式時,由于需要的索引更少,查詢變得更簡單更快。

看完了這篇文章,相信你對“MongoDB 中使用模式構(gòu)建之屬性模式的”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

新聞標(biāo)題:MongoDB中使用模式構(gòu)建之屬性模式的
網(wǎng)頁路徑:http://muchs.cn/article2/jeheoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、微信小程序網(wǎng)站維護(hù)、電子商務(wù)Google、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)