Web サイトに単純なヒット カウンターを作成しました (PHP と MySQL、フレームワークとして Codeigniter を使用)。
これは私が使用するテーブルです:
CREATE TABLE page_hits (id INT NOT NULL AUTO_INCREMENT, page_url VARCHAR(350) NOT NULL, ip VARCHAR(11) NOT NULL, hits INT NOT NULL, `date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL, PRIMARY KEY (id));
ページが読み込まれるたびに、page_url
&の組み合わせがip
テーブルに存在するかどうかを確認します。一致する場合は、値をhits
1 増やします。そうでない場合は、テーブルに新しい行を作成します。タイムスタンプは、ページの更新を新しいヒットとしてカウントしないように、ヒット カウント間の一定の遅延を許容するためにあります。
それはすべてうまく機能しますが、データベースが過負荷になっているのではないかと心配しています... 24 時間以内に、page_hits
テーブルに 6500 行以上あります。
私の質問は次のとおりです。データベースにこのように急速に成長するテーブルがあることのリスクは何ですか? (パフォーマンスの問題? データベース サイズの制限を超えていますか?)