-1

「フォーラムゴールド」でフォーラムを主催しています。人々はこれをたくさん交換したり、贈ったり、投稿に「感謝」や「いいね」をしたり、評判を高めたりするために人々に賞を与えます.

しかし、人々が自分のフォーラム アカウントにゴールドをハッキングすることを可能にするエクスプロイトが存在する可能性があるのではないかと懸念しているため、すべてのフォーラム ゴールド トランザクションにログを追加しました。

それはうまくいきます。合計クエリを実行して、不明なソースがフォーラム ゴールドをシステムに導入していないことを確認し、ユーザーに授与されたすべてのフォーラム ゴールドが説明されていることを確認できます。

しかし、それは完全に爆発しました。ほんの数日で、テーブルには 100,000 を超えるエントリがあります。また、Web ホストから、遅い mySQL クエリの警告に関するメールを受け取りました。これは、単一レコードのそのテーブルからの単純な SELECT であり、結合、順序付け、date_add() などの関数などはまったくありません。

したがって、ログを含むテーブルを完全にエクスポートして空にしたいと考えています。現在、私は通常、phpmyadmin の「エクスポート」機能を使用して残りのデータベースをバックアップしています。ただし、このテーブルは非常にアクティブで、毎秒 10 ~ 50 行の新しい行が追加されますが、レコードを失わないようにして、計算の整合性と精度を維持したいと考えています。

間にトランザクションを入れずに、エクスポートしてからすべてのレコードを削除できる「アトミック」な方法はありますか?

4

1 に答える 1