【MySQL】DELETE、TRUNCATE、DROPのお話
記事画像
みなさん、こんにちは エンジニアの高橋です。 本日はMySQLのDELETE、TRUNCATE、DROPについてお話したいと思います。 少しMySQLを勉強すればDELETE、TRUNCATE、DROPがデータを削除するクエリだと分かりますがそれぞれどういった違いがあるのかご存知でしょうか?? ◆ DELETE ・WHERE句を用いることで特定のレコードを削除できる。 ・ROLLBACKすることによって処理が取り消される。 ・処理時間が長い。 -> INDEXが貼られたテーブルだと、INDEXの書き換えが行われるため遅い -> ROLLBACKにも対応するため、削除したデータを保持する必要があるため遅い。 ◆ TRUNCATE ・全てのレコードが削除される。 ・ROLLBACKしても処理は取り消されません。 ・処理時間が短い。 ◆ DROP ・全てのレコードを削除し、さらにテーブルまで削除する。 ・ROLLBACKしても処理は取り消されません。 ・処理時間が短い。 データを削除する際はそれぞれどういった挙動なのかを意識して使うように心がけましょう。

--------------------------------------------------
社員を募集しております!

リクナビNEXT
《前職給与保障★エンジニア還元率80%以上》プログラマ・SE

type
開発エンジニア◆前職給与保証◆月給35万円~◆年休128日◆原則残業なし◆toC/Web系案件多数◆Web面接1回可

社員のゲーム実況チャンネル
$fugaのゲーム実況
この記事を書いた人
投稿者画像
高橋 希望
入社10年目の元不動産営業、現ゲームエンジニア 得意言語はphp,javascript,python,elixirなど
関連する記事