3

ページビューをデータベースに保存するためのベストプラクティスを教えてください。

ページが読み込まれるたびにページビュー値を更新するのはコストがかかりますか?

また、ページビューの更新中にエラーや脅威が発生する可能性がありますが、同時に、他の誰かが同じ行のデータを変更していますか?

例えば

表-アイテムID名説明PageView

それほど大きな問題ではないかもしれないことを理解しています。頻繁に更新される他のデータに適用でき、それを行うための最良のアプローチを知りたいと考えています。私の頭に浮かんだ考えられるシナリオは、多数のページが同時に実行されている場合です。パフォーマンスの問題はありますか?

私の英語を許してください、そして事前に感謝します。

4

1 に答える 1

8

最適な方法は、大規模なシステムでロックの問題を引き起こす可能性があるローリング タリーを維持するのではなく、ビューごとにテーブルに新しい行を書き込むことです。INSERT DELAYEDパフォーマンスを向上させるために、構文を使用して行を追加できます。これにより、DB ハンドルがすぐに返され、スクリプトは挿入が完了するまで待機しなくなります。ドキュメントはこちら:-

http://dev.mysql.com/doc/refman/5.5/en/insert-delayed.html

このタイプのロギング専用のアーカイブ ストレージ エンジンも検討する価値があります。データのみINSERTとできSELECTますが、パフォーマンスは高速書き込みを目的としています。

http://dev.mysql.com/doc/refman/5.1/en/archive-storage-engine.html

ページビュー情報を表示するには、特定のページの行数をクエリするだけです。このアプローチの主な利点は、すべてのページ ビューでタイムスタンプをログに記録することで、時間帯や曜日などでデータを分析し、トラフィックの形状を確認できることです。

于 2013-01-31T09:45:30.893 に答える