テーブル サイズおよび予想されるパージ結果の確認
データのパージを開始する前に、影響するデータ量を評価することができます。いくつかの SQL コマンドを使用して、現在のテーブルのボリュームおよび容量を確認することができます。
casp1032jp
データのパージを開始する前に、影響するデータ量を評価することができます。いくつかの SQL コマンドを使用して、現在のテーブルのボリュームおよび容量を確認することができます。
重要:
提供されている SQL サンプル構文は、例の区切りの日付が 2007-04-01 (2007 年 4 月 1 日)の値になっています。 このサンプル構文は、この日付以前に作成されたレコードは削除されることを示しています。適切な日付に置換してください。ただし、日付を選択した場合は、データの整合性を保持するためにすべてのテーブルに対して同じ日付を使用してください。テーブル サイズと予想パージ結果を確認するには、以下の手順に従います。
データベースのテーブル サイズの確認
データベース テーブルのサイズを確認するには、SHOW TABLE STATUS コマンドを使用します。
以下の手順に従います。
- コマンド プロンプトを開き、<$SPECROOT>/mysql/bin で次のコマンドを入力します。mysql -uroot -proot reporting
- mysql> プロンプトで、次の SQL コマンドを実行します。SHOW TABLE STATUS LIKE "modeloutage"; SHOW TABLE STATUS LIKE "alarminfo"; SHOW TABLE STATUS LIKE "alarmactivity";テーブル統計が表示されます。
- 次のフィールドを確認します。
- rows - 行の合計数
- avg_row_length - 各行の平均の長さ(バイト単位)
- data_length - テーブルの現在のサイズ(バイト単位)
- max_data_length - 拡大できるテーブルの最大サイズ(バイト単位)
- SPM を使用している場合は、次のコマンドを実行します。SHOW TABLE STATUS LIKE "spmbasictestresults"; SHOW TABLE STATUS LIKE "spmjittertestresults"; SHOW TABLE STATUS LIKE "spmhttpfulltestresults";テーブル サイズの確認が完了しました。
手動パージによって影響を受けるデータの確認
SELECT COUNT(*) コマンドを使用して、データ パージの影響を受ける行の数を調べることができます。
以下の手順に従います。
- mysql> プロンプトで、次の SQL コマンドを実行します。SELECT COUNT(*) FROM modeloutage WHERE end_time < "2007-04-01" AND outage_type > 0; SELECT COUNT(*) FROM alarminfo WHERE clear_time < "2007-04-01"; SELECT COUNT(*) FROM alarminfo, alarmactivity WHERE alarminfo.alarm_key = alarmactivity.alarm_key AND alarminfo.clear_time < "2007-04-01";
- SPM を使用している場合は、次のコマンドを実行します。SELECT COUNT(*) FROM spmbasictestresults WHERE timestamp < "2007-04-01"; SELECT COUNT(*) FROM spmjittertestresults WHERE timestamp < "2007-04-01"; SELECT COUNT(*) FROM spmhttpfulltestresults WHERE timestamp < "2007-04-01";影響を受けるデータの識別が完了しました。
再要求するスペースの決定
前の手順で使用した SHOW TABLE STATUS および SELECT COUNT (*)ステートメントの結果から、パージ後に解放される容量を判別できます。
以下の手順に従います。
- 次のコマンドを実行して、テーブル サイズを取得します。SHOW TABLE STATUS LIKE "modeloutage";結果から、行の平均長(avg_row_length)が 121 バイトであることがわかります。
- 以下のコマンドを実行して、影響を受ける行の数を調べることができます。SELECT COUNT(*) FROM modeloutage WHERE end_time < "2007-04-01" AND outage_type > 0;結果の数値は、4851 です。
- 以下の計算を実施して、このテーブル用に開放される領域の量を決定します。Avg_row_length * (number of rows Affected) = freed space 121 bytes * 4851 = 586,971 bytes.解放される領域の量が決定されます。
注:
データを削除した後、テーブルを最適化して未使用の容量を再要求できます。