投稿が表示された回数を追跡するアプリを実装しています。しかし、私は追跡するための「スマートな」方法を維持したいと思います。つまり、ユーザーがブラウザーを更新したからといって、ビューカウンターを増やしたくないということです。
そのため、IPとユーザーエージェント(ブラウザー)が一意である場合にのみ、ビューカウンターを増やすことにしました。これは今のところ機能しています。
しかし、それから私は思った。Youtubeの場合、この方法でそれを行っており、数千または数百万の再生回数を持ついくつかのビデオがあります。これは、データベース内のビューテーブルにIPとユーザーエージェントが過剰に入力されることを意味します。
これは、彼らのビデオテーブルがビュー用のカウンターキャッシュを持っているという仮定に私をもたらします(すなわちviews_count
)。これは、ユーザーがビデオをクリックすると、IPとユーザーエージェントが保存されることを意味します。さらに、ビデオテーブルのカウンターキャッシュ列が増加します。
ビデオがクリックされるたび。Youtubeは、ビューテーブルをクエリし、エントリの数をカウントする必要があります。これはパフォーマンスに大きく影響しませんか?
これは彼らがそれを行う方法ですか?それとももっと良い方法はありますか?