プログラミング Java

【Spring Data JPA】deleteAllとdeleteAllInBatchの違い

投稿日:

概要

Spring JPA Dataにおける、deleteAllとdeleteAllInBatchの挙動の違いについてです。
結論から言うと、実行されるSQLが違います。

SQLの違い

【前提】
3件のデータがあるとします。

deleteAll

削除対象をSELECTで取得してから、1行ずつ削除しています。
以下が実行時のSQLです。

deleteAllInBatch

単純に全件削除します。
以下が実行時のSQLです。

実行されるSQLからわかること

全件削除が目的であれば、deleteAllInBatchを使うのが合理的です。
deleteAllは1行ずつ削除されるのでパフォーマンスが悪いため、おすすめできません。

 
最後までお読み頂き、ありがとうございました!
ご意見・ご要望がありましたら、遠慮なくコメント下さい!
もし内容が良かったらランキング評価を頂けると励みになります(^^)

ランキング評価する

-プログラミング, Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。

CAPTCHA


関連記事

【Java入門】メソッドとは?使い方まとめ

概要 メソッドとは何か? また使い方をわかり易く説明します。   メソッドとは? 固く言うと、一連の処理を一つにまとめたものです。 平たく言うと、何らかの処理を1つにまとめたものです。 例 Syste …

【SpringBoot入門】#7~ 検索画面の作成

概要 書籍情報を検索するフォーム(検索フォーム)と検索結果を表示する画面(検索結果一覧)を作成します。 検索フォームと検索結果一覧はHTMLファイルを分けて作成しています。 分けることは必須ではなく、 …

【SpringBoot入門】#10~ 更新機能の実装

概要 既に登録済みの書籍情報を画面上で編集し、更新する処理を実装します。 更新した内容が反映されていることを確認するところまでを行います。   フロントエンド 更新情報のリクエスト edit.html …

【TemplateMethodパターン】売上レポートをテキストとHTML形式で出力分けする事例

概要 デザインパターンのTemplateMethodパターンの事例です。 デザインパターンは増補改訂版 Java言語で学ぶデザインパターン入門で学ぶことができますし、Qiitaでも取り上げられています …

【SpringSecurity】#3~ 独自のログイン画面

概要 オリジナルのログイン画面を実装する方法です。 以下の内容になっています。 ログイン用のHTMLを用意する。 Controllerにログインの遷移先を定義する。 SecurityConfigクラス …

SpringFramworkの良書

■おすすめ教材
Javaの基本を学んだ人が、次のステップとして読む本(中級者向け)

※SpringはJavaのFrameworkの1つです。
変更のしやすさ、保守性の高さが特徴です。