成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

mgo做分頁的幾種方法

Terry_Tai / 2534人閱讀

摘要:場景當(dāng)數(shù)據(jù)兩足夠大的時(shí)候,一頁展示不完的時(shí)候,我們經(jīng)常會(huì)需要分頁的功能。方案三,數(shù)據(jù)比較大,排序需要排序當(dāng)數(shù)據(jù)量比較大的時(shí)候,并且需要排序的時(shí)候,可以使用這種情況。

場景

當(dāng)數(shù)據(jù)兩足夠大的時(shí)候,一頁展示不完的時(shí)候,我們經(jīng)常會(huì)需要分頁的功能。

方案 方案一,數(shù)據(jù)不是很大

需要排序

    s := globalS.Copy()
    c := s.DB(db).C(collection)
    defer s.Close()
    return c.Find(query).Select(selector).Sort(sort).Skip(100).Limit(20).All(result)

這中情況只適用于數(shù)據(jù)量比較小的時(shí)候,當(dāng)數(shù)據(jù)量達(dá)到一定量,sort會(huì)內(nèi)存益處報(bào)錯(cuò)

方案二,數(shù)據(jù)比較大

不需要排序

    s := globalS.Copy()
    c := s.DB(db).C(collection)
    defer s.Close()
    return c.Find(query).Select(selector).Skip(100).Limit(20).All(result)

當(dāng)數(shù)據(jù)量比較大的時(shí)候,可以使用這種情況。如果需要排序,那就取得返回值后在排序。

方案三,數(shù)據(jù)比較大,排序

需要排序

    var result []interface{}
    s := globalS.Copy()
    c := s.DB(db).C(collection)
    defer s.Close()
    pipeM := []bson.M{
        {"$match": bson.M{"status": "true"}},
        {"$skip": start},
        {"$limit": end},
        {"$sort": bson.M{"height": -1}},
    }
    pipe := c.Pipe(pipeM)
    err = pipe.All(&result)

當(dāng)數(shù)據(jù)量比較大的時(shí)候,并且需要排序的時(shí)候,可以使用這種情況。因?yàn)樵趕kip,limit和sort同時(shí)出現(xiàn)的時(shí)候,由于有優(yōu)先級,需要無論順序如何,都是先執(zhí)行sort,在執(zhí)行skip,最后執(zhí)行l(wèi)imit,但是我們使用聚合,也就是mgo里面的pipeline,可以改變執(zhí)行的先后順序。

結(jié)束語

上面的三種情況都不適用大量的數(shù)據(jù),首先是skip的限制,有人建議邊查詢邊排序,我沒有嘗試

如果數(shù)據(jù)量過大,我建議使用分庫分表的方式來完成,這樣加上GO語言的多線程,可以很快的查詢和聚合

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/19568.html

相關(guān)文章

  • 大數(shù)據(jù)分頁方案

    摘要:分頁正反偏移數(shù)據(jù)庫自帶的和的限制條件為我們創(chuàng)建了分頁的查詢方式,但是如果利用不對,性能會(huì)出現(xiàn)千倍萬倍差異。這兩條是為查詢最后一頁的翻頁查詢用的。緩存和不精準(zhǔn)數(shù)據(jù)量達(dá)到一定程度的時(shí)候,用戶根本就不關(guān)心精準(zhǔn)的總數(shù)沒人關(guān)心差幾個(gè)。 軟件開發(fā)中,常用要用到分頁、計(jì)算總數(shù),數(shù)據(jù)量超過千萬、上億的時(shí)候,往往count 的需要超過 1s 的執(zhí)行時(shí)間,甚至 3-5s,對于一個(gè)追求性能的前沿團(tuán)隊(duì)來說,這...

    yuanzhanghu 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<