テーブルの切り捨て
トランケートは、テーブルまたはデータベース内のデータを削除しつつ、その存在を保持することを可能にします。これは、逆に戻すことのできない軽量な操作です。
TRUNCATE ステートメント
TRUNCATE TABLE
テーブルからすべてのデータを削除します。IF EXISTS
句を省略すると、テーブルが存在しない場合にクエリがエラーを返します。
TRUNCATE
クエリは、View、File、URL、Buffer、および Null テーブルエンジンではサポートされていません。
alter_sync設定を使用して、レプリカでアクションが実行されるのを待機するように設定できます。
TRUNCATE
クエリを実行するために待機する非アクティブなレプリカの最大待機時間(秒単位)を、replication_wait_for_inactive_replica_timeout設定で指定できます。
注記
alter_sync
が2
に設定されていて、一部のレプリカがreplication_wait_for_inactive_replica_timeout
設定で指定された時間以上非アクティブの場合、UNFINISHED
という例外がスローされます。
TRUNCATE ALL TABLES
データベース内のすべてのテーブルからすべてのデータを削除します。
TRUNCATE DATABASE
データベースからすべてのテーブルを削除しますが、データベース自体は保持します。IF EXISTS
句を省略すると、データベースが存在しない場合にクエリがエラーを返します。
注記
TRUNCATE DATABASE
はReplicated
データベースではサポートされていません。その代わり、データベースをDROP
してCREATE
してください。