0
我有兩個實體:用戶(id,名稱,groupId)和組(id,title)。我想在我的網格中顯示所有用戶:| id | name |組標題|。使用組標題的用戶的最佳方式是什麼? (使用低級別的API並且不需要反規範化)從數據存儲讀取數據
我有兩個實體:用戶(id,名稱,groupId)和組(id,title)。我想在我的網格中顯示所有用戶:| id | name |組標題|。使用組標題的用戶的最佳方式是什麼? (使用低級別的API並且不需要反規範化)從數據存儲讀取數據
沒有反規範化或更改模型定義,實際上只有一種方法:獲取所有用戶,創建一組groupIds並使用查詢獲取Group實體。不幸的是,你的系統不能很好地擴展,因爲這種方法不能很好地利用數據存儲。
爲了提高性能和可伸縮性,我們可以做的一件事情是存儲組實體的實際數據存儲Id,然後使用Group.get_by_id()
一次獲取所有實體,而不是單獨查詢。這充分利用了get_by_id()
(如get_by_key_name()
比查詢實體值更快的事實,並且還可以通過一次調用請求所有ID,顯着減少了AppEngine需要完成的工作量。