[英]HybridRelations laravel mongo is really slow
使用 HybridRelations 將用戶通知存儲在 mongoDB 而不是 mysql 中並導入了 300 萬條記錄,現在 user->notifications()->take(5)->get() 或 user->notifications()->paginate(5) 超過 30秒。 知道如何加快速度嗎? 在具有相同記錄數量的 mysql 上,它花費了 200 毫秒。
通知模型具有 user_id 和 description 和優先級以及讀取標志,並且 user_id 被設置為索引。
也許這個建議可以幫到你。
當使用user->notifications()
意味着這樣的查詢
db.notificaiton.find( {"user_id": <?> } )
這將通過 user_id 獲取所有記錄。
您可以轉儲user->notifications()
並檢查。 那應該是Collection
類型並且包含超過 5 條記錄。
解決辦法是這樣的。 您可以編寫特定的方法來確保您的 mongo 查詢表達式。
問題是您排序的列應該是索引以及您使用 where 子句的列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.