7

私はローカル ディレクトリ Web サイト (yelp/yell.com などと考えてください) を運営しており、サイトに掲載されている企業に分析データを提供する必要があります。

以下を追跡する必要があります。

1) 特定のページへの訪問者数 (つまり、ジムのウィジェットは 65 回表示されました)

2) ユーザーがリンクをクリックした回数 (つまり、25 人のユーザーがクリックして Web サイトにアクセスした)

アクションが発生するたびに、関連する番号に 1 を追加するだけでこれを行うことができます。

私ができるようにしたいのは、これを日付範囲に分割することです。たとえば、過去 30 日間、過去 12 か月間などです。

このデータをデータベースに保存するにはどうすればよいですか? コードではなく、理論だけが必要です。誰かがこの情報を保存する最良の方法を説明できれば、私は非常に感謝しています.

たとえば、日付用に 1 つのテーブルを使用し、ページ/リンク用に 1 つ、ユーザー データ (クリックされたリンク/アクセスしたページ) 用に別のテーブルを使用しますか? 私がこれまでに持っている唯一の解決策は、これらのアクションのいずれかが発生するたびに新しい行を DB に追加することですが、これはうまくスケーリングできません。

助けてくれる人に感謝します。

4

1 に答える 1

3

私は車輪の再発明をせず、Piwikなどのすでに利用可能なソリューションを使用します。それは実際にあなたの通常のウェブログを読んであなたが要求したすべての情報を提供することができます。

何らかの理由でカスタムソリューションが必要な場合は、追跡データを範囲内に保存せず、個々のページ呼び出し(通常のブログが提供するもの)ごとに正確な時間とURLデータを使用します。累積データは、ロジックセクションでオンザフライで生成する必要があります。たとえば、SQLビューを使用します。

SELECT count(url),url
FROM   calllog
WHERE  calldate > NOW()-30days
于 2012-06-13T12:29:43.063 に答える