0

基本的に、すべてのユーザーのインプレッションを登録するため、非常に急速に成長するテーブルがあります。しかし、ほとんどのデータは役に立たず、ユーザーごとに作成された最新のエントリのみが必要です。(テーブルはユーザーの認証に使用されます)。

古いデータを削除しようとしているので、テーブルには登録ユーザーの総数に近い行数が安定するはずです。

cron ジョブを使用できます。認証スクリプトの最後に、古い行を削除する行を追加するだけのオプションがあります。ページが読み込まれるたびに実行されます。

DELETE WHERE `Date` < NOW() - SOME INTERVAL

これは効率的ですか? CRON JOB を使用する必要がありますか?

4

2 に答える 2

0

CREATE最新のレコードを保持するための一時テーブルを作成できます。

そして、DROP古いテーブルをまとめて。削除するよりも削除する方が速い:)。

一時テーブルの名前を古いものに変更します。

したがって、このロジックは、必要にCRONJOB応じてあなたの中にある可能性があります。

于 2012-11-27T06:00:17.713 に答える
0

ページからこれを実行すると、ユーザーのログイン時間まで加算されます。

それは悪いアプローチです。cronjob または Jenkins などの他のジョブ スケジューリング ツールを使用することをお勧めします

于 2012-11-27T06:01:07.587 に答える