【MySQL】DELETE、TRUNCATE、DROPのお話
2022.04.02
みなさん、こんにちは
エンジニアの高橋です。
本日はMySQLのDELETE、TRUNCATE、DROPについてお話したいと思います。
少しMySQLを勉強すればDELETE、TRUNCATE、DROPがデータを削除するクエリだと分かりますがそれぞれどういった違いがあるのかご存知でしょうか??
◆ DELETE
・WHERE句を用いることで特定のレコードを削除できる。
・ROLLBACKすることによって処理が取り消される。
・処理時間が長い。
-> INDEXが貼られたテーブルだと、INDEXの書き換えが行われるため遅い
-> ROLLBACKにも対応するため、削除したデータを保持する必要があるため遅い。
◆ TRUNCATE
・全てのレコードが削除される。
・ROLLBACKしても処理は取り消されません。
・処理時間が短い。
◆ DROP
・全てのレコードを削除し、さらにテーブルまで削除する。
・ROLLBACKしても処理は取り消されません。
・処理時間が短い。
データを削除する際はそれぞれどういった挙動なのかを意識して使うように心がけましょう。
--------------------------------------------------
社員を募集しております!
type
開発エンジニア*前職給与保証*リモート可*ブランクOK*案件還元率80%以上*月給35万円~*年休128日
社員のゲーム実況チャンネル
$fugaのゲーム実況
社員を募集しております!
type
開発エンジニア*前職給与保証*リモート可*ブランクOK*案件還元率80%以上*月給35万円~*年休128日
社員のゲーム実況チャンネル
$fugaのゲーム実況