当社の PHP および MySQL ベースのアプリケーションは、ユーザー アクションの MySQL データベースに書き込まれるカスタム ログを作成します。これは主に、検索を容易にするためと、アプリが永続的なストレージに MySQL を既に使用していたため、当然のことでした。
現在、ログには 1,760 万行が含まれており、サイズは 2GB です。その場所を移動するときはそれほど友好的ではありません。
ログを保存するためのより効率的な方法として、コミュニティが何を提案するのか疑問に思っていました.
明らかに、このテーブルを 1 週間分のすべてのログに分割してから、重要でないログを削除し、過去の重要なログ (支払いなど) のためにテーブルを 2 つに分割できます。
一般に、次のような関数を使用してログに書き込みます。
playerlog($id,$message,$cash,$page,$ip,$time);
しかし、これはかなり簡略化されたバージョンです。ログはページの読み込みにとって重要ではないため、MySQL の INSERT DELAYED も使用しています。