PolarDB for MySQL クラスターによって生成されたデータファイルは時間の経過とともに蓄積され、利用可能なストレージ容量を使い果たす可能性があります。このトピックでは、不要なデータファイルを特定して削除し、ストレージを解放する方法について説明します。
症状
データファイルが蓄積されることで、クラスターのストレージ容量が上限に達したり、予期せず増加したりします。データ領域の使用量を確認するには、PolarDB コンソールの [ストレージ分析] ページに移動し、[ストレージ傾向] セクションを確認します。
以下の図は、[ストレージ傾向] セクションにおけるデータ領域の使用状況の例を示しています。

ソリューション
不要なテーブルを削除してストレージを再利用するには、次の手順を実行します。
テーブルを削除する前に、そのデータをバックアップしてください。
テーブルを削除してストレージを解放するには、
DROP TABLEまたはTRUNCATE TABLEを使用します。DELETE文ではストレージは解放されません。OPTIMIZE TABLE文は実行中にテーブルをロックします。オフピーク時間帯に実行してください。データファイルが削除された後、クラスターが解放されたストレージ容量をリリースするまでには時間がかかります。
データファイル以外のストレージをさらに解放するには、ログファイルなどの他のファイルタイプを削除します。詳細については、「ログファイルを削除してストレージを解放」をご参照ください。
操作手順
[SQL コンソール] ページで、次のクエリを実行して、サイズ別にデータファイルを一覧表示し、削除可能な過去のデータまたは不要なデータを特定します:
SELECT file_name, concat(TOTAL_EXTENTS,'M') as 'FIle_size' FROM INFORMATION_SCHEMA.FILES order by TOTAL_EXTENTS DESC特定したテーブルを削除するには、
DROP TABLEまたはTRUNCATE TABLEを実行します。<database name>と<table name>を実際の値に置き換えてください。DROP TABLE <database name>.<table name> TRUNCATE TABLE <database name>.<table name>
次のステップ
ストレージのスケールアップ。 PolarDB for MySQL は、コンピューティングとストレージの分離アーキテクチャを採用しているため、ストレージを独立してスケールできます。 詳細については、「ストレージ容量を手動でスケールアップする」をご参照ください。
表領域の断片の再利用。 テーブルに対して
DELETE文を頻繁に実行すると、時間の経過とともに表領域の断片が蓄積されます。表領域を再利用するには、オフピーク時間帯にOPTIMIZE TABLE文を実行します。詳細については、「OPTIMIZE TABLE 文を実行して表領域を再利用」をご参照ください。OPTIMIZE TABLE <database name>.<table name>