イベントベースのアプリケーションでは、多くの場合、時間間隔ごとにグループ化されたイベントの数を取得する必要があります。最も効率的なアプローチを選択することは、特に膨大なデータセットを扱う場合には非常に重要です。
長所:
短所:
実装:
WITH grid AS ( SELECT start_time AS start, LEAD(start_time, 1, 'infinity') OVER (ORDER BY start) AS end FROM generate_series(MIN(ts), MAX(ts), INTERVAL '15 min') AS start_time ) SELECT start, COUNT(e.ts) AS events FROM grid g LEFT JOIN event e ON e.ts >= g.start AND e.ts < g.end GROUP BY start ORDER BY start;
長所:
短所:
実装:
長所:
短所:
実装:
推奨事項:
最適なアプローチは、特定の要件によって異なります。動的な時間間隔と適度なデータ量の場合は、クエリベースのアプローチをお勧めします。より大きなデータセットまたは静的な時間間隔の場合、間隔データを事前に保存する方が効率的な解決策となる可能性があります。ただし、これにはテーブル サイズの増加と潜在的なデータ冗長性というトレードオフが伴います。
以上が大規模なデータセットで時間間隔ごとにイベントをカウントする最も効率的な方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。