【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しても処理は取り消されません。 ・処理時間が短い。 データを削除する際はそれぞれどういった挙動なのかを意識して使うように心がけましょう。
--------------------------------------------------
社員を募集しております!

会社の説明とか、会社の良いところとか、社員の紹介とか
株式会社フジボウルの動画

採用担当のXアカウント
鹿島潤@フジボウルの採用兼エンジニア

社員のゲーム実況チャンネル
$fugaのゲーム実況

この記事を書いた人

高橋 希望

入社10年目の元不動産営業、現ゲームエンジニア 得意言語はphp,javascript,python,elixirなど

DiscordID:n_takahashi0501 Email:n_takahashi@fujiball.co.jp

あなたが気になっていることを
担当者に伝えます。

ご連絡ありがとうございました。
後日担当者から返信をします。