0

ユーザーが特定のナビゲーションタブをクリックしたときに記録するMySQLdBのテーブルがあります。毎回、最後のエントリをソフト削除し、新しいエントリを挿入します。ソフト削除の理由は分析を目的としているため、ユーザーがどこで、いつ、何をクリックしているかを経時的に追跡できます。ソフト削除と新規エントリの比率は9:1であり、テーブルサイズは現時点では約20Kですが、急速に拡大しています。

だから私の質問は:ソフト削除エントリを削除することがこのテーブルを含むクエリを最適化するのに役立つかどうかです。現在、4つのテーブルを結合し、新しいエントリのみが必要なものが1つあります。ソフト削除の分析はバックアップコピーで実行できるため、本番環境のdBではこれらの行は必要ありません。

4

1 に答える 1

0

テーブルの 90% をすべてのクエリから除外するとパフォーマンスに影響する可能性が最も高いですが、分析: インデックスはおそらく、これらの論理的に削除された行が独自のテーブルにある場合よりも大きくなり、ディスク ヘッドがシークする必要があります。距離が長くなるため、ディスクアクセスは、テーブルの 1/10 のサイズなどよりも高価になります。

于 2009-09-25T03:39:33.560 に答える