基於事件的應用程式通常需要擷取按時間間隔分組的事件計數。選擇最有效的方法至關重要,尤其是在處理大量資料集時。
優點:
缺點:
實現:
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;
優點:
優點:
對於大型資料集效率低
迭代特定時間範圍內的事件
按時間間隔手動統計事件快速且有效率的資料檢索
需要事件表中的其他欄位
在事件表中加入欄位來儲存間隔數據,例如“the_week”、“the_day”和“ the_hour"
創建每個時存儲這些值事件使用簡單查詢檢索計數建議:最佳方法取決於具體要求。對於動態時間間隔和適度的資料量,建議使用基於查詢的方法。對於較大的資料集或靜態時間間隔,預先儲存間隔資料可能是更有效的解決方案。然而,這需要權衡增加表大小和潛在的資料冗餘。以上是在大型資料集中按時間間隔計數事件的最有效方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!