【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のゲーム実況 |
|
|
![]() |
高橋 希望 2021.09.23 |
【MySQL】クラスタインデックスとセカンダリインデックスのお話 |
![]() |
寺山 拓未 2021.09.10 |
テスト駆動開発 |
|
|
![]() |
高橋 希望 2021.07.31 |
【MySQL】トランザクションのお話 |
![]() |
|
![]() |
寺山 拓未 2021.03.31 |
応答時間の差について注意すること |
![]() |
|
![]() |
高橋 希望 2020.11.22 |
エンジニア歴10年目突入 |