削除
- DELETEはDMLコマンドです。
- DELETEステートメントは行ロックを使用して実行され、テーブル内の各行は削除のためにロックされます。
- where句でフィルタを指定できます
- 条件が存在する場合、指定されたデータを削除します。
- 操作は個別にログに記録されるため、削除するとトリガーがアクティブになります。
- ログを保持するため、切り捨てよりも遅くなります。
- ロールバックが可能です。
切り捨て
- TRUNCATEはDDLコマンドです。
- TRUNCATE TABLEは常にテーブルとページをロックしますが、各行はロックしません。
- Where条件は使用できません。
- すべてのデータを削除します。
- TRUNCATE TABLEは、操作が個々の行の削除をログに記録しないため、トリガーをアクティブ化できません。
- ログを保持しないため、パフォーマンスが向上します。
- ロールバックはできません。