どちらもテーブルのレコードを削除するわけですが・・・
●Delete
・DML
・削除するレコードをwhere句で絞り込める
・トランザクションとして利用できる
⇒ロールバック(UNDO)が可能
⇒トランザクションログに書き込む
⇒DBMotoでレプリケーション可能
●Truncate
・DDL
・削除するレコードを指定できず全レコードを削除
・トランザクションとして利用できない
⇒ロールバック(UNDO)が不可
⇒トランザクションログに書き込まない
⇒DBMotoでレプリケーション不可
ちなみにDBMotoでの初回レプリケーション(リフレッシュ)では全レコードを転送しますが、その際最初にTruncateによる削除処理が実行されます。
関連したトピックス
- 初期同期(リフレッシュ)がより便利に! ステージングリフレッシュ機能
- AS/400でのレコード全消去時における、DBMotoによるミラーリング動作
- DBMotoレプリケーションに必要なPostgreSQLユーザ権限
- 外部キーが設定された親子テーブルのリフレッシュの注意点と簡単設定方法
- 初期同期(リフレッシュ)をもっと柔軟にリフレッシュフィルタ機能[DBMoto]
- PostgreSQLとMySQLのデータベースとしての機能の違い
- レプリケーション対象テーブル構成変更後のSyniti Data Replication (旧DBMoto) マッピング対応について
- DBMotoレプリケーションに必要なOracleユーザ権限
- DBMotoレプリケーションに必要なSQL Serverユーザ権限
- DBMotoの各レプリケーションをグループ化する際の利点とは?