tencent cloud

TencentDB for MySQL

動向とお知らせ
製品アップデート情報一覧
初心者ガイド
製品紹介
製品概要
製品の優位性
適用シナリオ
データベースのアーキテクチャ
タグ編集
製品機能リスト
データベースインスタンス
高可用性(マルチアベイラビリティゾーン)
地域とAvailability Zone
自社研究カーネル
TXSQLカーネル概要
機能系特性
パフォーマンス系特性
セキュリティ系特性
安定性系特性
TXRocksエンジン
購入ガイド
課金概要
購入方法
支払い更新の説明
支払い延滞の説明
返金説明
インスタンス調整の料金の説明
バックアップキャパシティ課金説明
クイックスタート
概要
MySQLインスタンスの作成
操作ガイド
使用制限
操作一覧
インスタンスの管理とメンテナンス
アップグレードインスタンス
拡張インスタンス
データベースプロキシ
データベース管理(DMC)
アカウント管理
パラメータ設定
バックアップとロールバック
データ移行
インターネットとセキュリティ
監視とアラーム
ログセンター
タグ
プラクティスチュートリアル
MySQL利用規約
アプリケーションの自動再接続機能のコンフィグレーション
MySQLマスターインスタンスパラメータの変更影響
MyISAMからInnoDBエンジンへの切り替え制限
TencentDB for MySQLのためのVPC作成
MySQLによるサービス負荷能力の向上
2地域3センターのディザスタリカバリ構築
リード・ライト分離によるTencentDB for MySQLパフォーマンスの拡張
DTSでInnoDBデータをRocksDBに移行します
LAMPスタック上のWebアプリケーションの構築
Drupalウエブサイトの構築
Python言語によるMySQL APIの使用
ホワイトペーパー
パフォーマンス白書
セキュリティ白書
トラブルシューティング
接続に関する問題
性能関連
インスタンスデータの同期遅延
大文字と小文字を区別しない設定に失敗しました
APIドキュメント
History
Introduction
API Category
Instance APIs
Making API Requests
Data Import APIs
Database Proxy APIs
Database Audit APIs
Security APIs
Task APIs
Backup APIs
Account APIs
Rollback APIs
Parameter APIs
Database APIs
Monitoring APIs
Log-related API
Data Types
Error Codes
よくある質問
課金関連
ロールバック関連の問題
接続とログインに関する問題
パラメータを変更
アップグレード関連の問題
アカウント権限
性能メモリ
運営する
データ移行
機能特徴
コンソール関連
ログ関連
API 2.0切り替え 3.0ガイド
Service Agreement
Service Level Agreement
Terms of Service
汎用参考
標準と認証
お問い合わせ
用語集

大きなテーブルの非同期削除

PDF
フォーカスモード
フォントサイズ
最終更新日: 2025-09-25 09:48:13

機能の説明

この機能は主にデータファイルの大きなテーブルを削除し、IOのジッターを防止するために用いられます。
DROP TABLE操作を実行すると、システムがまず対象データベースの.ibdファイルを新しい一時ファイルにリネームし、直ちに操作成功のメッセージを返します。この一時ファイルは、innodb_async_drop_tmp_dirパラメータで指定されたディレクトリに格納されます。その後、システムがバックグラウンドでこの一時ファイルに対して段階的なtruncate処理を行います。truncateサイズはinnodb_async_truncate_sizeパラメータ(MySQL 5.6バージョンは未対応、MySQL 5.7およびMySQL 8.0バージョンは対応)によって制御されます。
この機能はユーザー操作不要でカーネルが自動的に実施します。その原理は、テーブルを削除する際に、別のディレクトリに該当テーブルのデータファイルのハードリンクを作成することです。DROP TABLE操作を実行した後、削除されるのはこのファイルのハードリンクだけです。その後、バックグラウンドスレッドがハードリンクのあるディレクトリに削除対象ファイルを検出すると、自動的にバックグラウンドで先ほどdropされたテーブルのデータファイルをtruncateします。

サポートするバージョン

カーネルバージョンMySQL 5.6 20220303以上
カーネルバージョンMySQL 5.7 20230601以上
カーネルバージョンMySQL 8.0 20200630以上

ユースケース

この機能は削除しようとするテーブルデータファイルが非常に大きいケースに適しています。

利用説明

MySQL 5.6バージョンの使用説明
MySQL 5.7および MySQL 8.0バージョンの使用説明

有効化手順

1. テーブルの非同期削除機能を使用する前に、パラメータinnodb_adaptive_hash_indexをOFFに設定してください。
2. パラメータinnodb_async_truncate_work_enabledをONに設定し、大規模テーブルの非同期削除を有効にします。パラメータ設定の手順については、インスタンスパラメータの設定を参照してください。

関連パラメータの説明

パラメータ名
ダイナミック
タイプ
デフォルト
パラメータ値の範囲
説明
innodb_adaptive_hash_index
yes
string
ON
ON/OFF
InnoDB適応型ハッシュインデックスの有効化の確認。-ON:有効。-OFF:無効。
innodb_async_truncate_work_enabled
yes
string
OFF
ON/OFF
大規模テーブルの非同期削除の有効化の確認。- ON:有効。- OFF:無効。

有効化手順

1. 大規模テーブルの非同期削除機能を使用する前に、パラメータinnodb_fast_ahi_cleanup_for_drop_tableをONに設定してください。
2. パラメータinnodb_adaptive_hash_indexをOFFに設定してください。
3. パラメータinnodb_table_drop_modeをASYNC_DROPに設定し、大規模テーブルの非同期削除機能を有効にします。パラメータ設定の手順については、インスタンスパラメータの設定を参照してください。
4. (任意のステップ)パラメータinnodb_fast_ddlをONに設定すると、大規模テーブルの非同期削除機能がより効率的になります。FAST DDL機能と関連パラメータに関連するため、FAST DDLを参照してください。

関連パラメータの説明

パラメータ名
ダイナミック
タイプ
デフォルト
パラメータ値の範囲
説明
innodb_fast_ahi_cleanup_for_drop_table
yes
string
ON
ON/OFF
適応型ハッシュインデックスのクイッククリーンアップ最適化の有効化の確認。- ON:有効。有効にすると、時間がかかるハッシュのクリーンアップによる大規模テーブルの削除が遅くなってしまうことを防ぐことができます。- OFF:無効。
innodb_adaptive_hash_index
yes
string
OFF
ON/OFF
InnoDB適応型ハッシュインデックスの有効化の確認。-ON:有効。-OFF:無効。
innodb_table_drop_mode
yes
string
ASYNC_DROP
SYNC_DROP/ASYNC_DROP
大規模テーブルの非同期削除機能の有効化の確認。- ASYNC_DROP:非同期モード、つまり有効。- SYNC_DROP:同期モード、つまり無効。
innodb_async_truncate_size
yes
int
128
128 - 168
大規模テーブルの非同期削除機能がバックグラウンドで毎回truncateするファイルサイズ。単位はMBです。


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック