無限極推廣,如何快速得到某個使用者的下級使用者總數?

來源:互聯網
上載者:User
目前在使用者表裡面用pid關聯上下級關係,統計某個使用者的下級總數時用的遞迴查詢到19級,但是後來發現在使用者下級數量較大時直接就將網站拖死了,請問大家該怎麼處理?謝謝。。

回複內容:

目前在使用者表裡面用pid關聯上下級關係,統計某個使用者的下級總數時用的遞迴查詢到19級,但是後來發現在使用者下級數量較大時直接就將網站拖死了,請問大家該怎麼處理?謝謝。。

增加一個path欄位

這個其實在很多電商站裡面也會遇到這種類似無限級分類的問題,設計我們有時候會所以然的加上一個pid要標識子類,到最後進行查詢都得把自己給搞死了。

這時候我們就是修改資料庫表結構就可以了,允許資料冗餘這個問題就解決了。

補充:

可以在當前表裡面增加一個列叫pid_list,這裡面儲存的格式為1,2,3 1為最高層級 2為上線,3為自己本身的id.

還可以是增加一個標識自己所屬的層級Depth,1級為1,對應pid_list的位元層級數。

加了這些之後我們再去查詢就方便很多啦。

參考無級數分類

可以增加一個path欄位

直接在每個使用者記錄上增加一個孩子總數, A->B->C->D 如果C邀請了D, 則更新ABC三個加1。 這個任務如果非即時,可以非同步處理。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.