對於一點上下文,我目前正在一個名爲http://www.clubsofa.org的網站上工作,其中的概念是人們可以在谷歌地圖上搜索朋友的朋友,目的是允許他們在旅途中與二級朋友聯繫。 目前的設置是PostgreSQL,有一個名爲friends的表,它存儲了兩個唯一的用戶id(友誼只存儲一次,例如a,b表明a是b的朋友,b是a的朋友)。在查詢朋友的朋友時,我得到當前用戶的所有朋友,然後搜索他們的所有朋友,但這需要很長時間,而運行AWS EC2實例的用戶很少。 我嘗試過的另一種方法是通過兩種方式存儲朋友關係,然後在第一列上編制索引,但是,這稍微慢一些。 我正在考慮設置它的一種方式是將一個人朋友作爲JSON對象存儲在他們的user_details條目中,然後懶洋洋地更新它,但還沒有到這裏來測試它。如何設計一個高性能朋友的數據庫表
有沒有什麼好的方法來設置它?
如果您使用的是Postgres,那麼朋友們存儲在SQLish方式,與每個朋友列一個表的朋友。 –
我目前已經得到了,它非常緩慢。沒有更好的方法來做到這一點嗎? –
「*且速度非常慢*」 - 向我們顯示您當前的表格定義(作爲'create table'語句)您正在使用和閱讀的查詢:http://wiki.postgresql.org/wiki/SlowQueryQuestions –