大きなイベント発生テーブルがあります。私はいくつかのイベントシーケンスを実行し、すべてのユーザーを知っていただきたいと思い SQL - シーケンス/パスの検索
- ユーザーID
- のEventId(このイベントが発生した)(イベントの種類)
- タイムスタンプ:これは、次の列があります日付範囲の間3.
は現在、私はちょうどCLRストアドプロシージャを使用してレコードセットを反復処理しています前に発生した、イベント1が2と2の前に起こるべきである
私はイベントを探していた場合は1-2-3の配列を決定... 。このアプローチは遅いです。 SQLでこれを行うより良い方法はありますか?
私はSQl Server 2008を使用しています。また、userIdごとに重複するeventIdが存在する可能性があります。
表のサイズは約3〜40億行で、日付範囲には約10億行が含まれます。パフォーマンスは重要です。
ありがとうございました
CLRは2005/2008を意味します - それは?答えに影響を与える可能性があります。 –
UserIdごとに重複するeventIDが存在する可能性がありますか?もしそうなら、あなたのロジックにどのように影響しますか? –
希望の期間に存在する可能性のある行の量はいくらですか?インデックスは何ですか? – DVK