背景
現在は leaderboard_entries からの直接クエリで週間/月間ランキングを取得しています。アクティブユーザー数が数万を超えた場合にパフォーマンス改善が必要になる可能性があります。
提案
pg_cron で定期的にリフレッシュするマテリアライズドビューを導入します。
概要
- 週間ランキングと月間ランキングのそれぞれにマテリアライズドビューを作成
pg_cron を使用して定期的に REFRESH MATERIALIZED VIEW CONCURRENTLY を実行
CONCURRENTLY オプションによりリフレッシュ中もビューへの読み取りが可能
対応タイミング
アクティブユーザーが数万を超えた場合に検討・実施します。
背景
現在は
leaderboard_entriesからの直接クエリで週間/月間ランキングを取得しています。アクティブユーザー数が数万を超えた場合にパフォーマンス改善が必要になる可能性があります。提案
pg_cronで定期的にリフレッシュするマテリアライズドビューを導入します。概要
pg_cronを使用して定期的にREFRESH MATERIALIZED VIEW CONCURRENTLYを実行CONCURRENTLYオプションによりリフレッシュ中もビューへの読み取りが可能対応タイミング
アクティブユーザーが数万を超えた場合に検討・実施します。