JPAとmybatisのCRUD速度比較

2909 ワード

  • SpringBootバージョン:1.4.3.RELEASE
  • データベース:MySQL
     
  • 挿入速度比較(このときのデータテーブルはほぼ空)
  • JPA挿入データ
  • は一度に1つのデータの挿入を要求する、75msを使用し、その後、1つのデータの挿入を要求するたびに、3-5ms
  • を使用する.
  • は一度に1万個のデータ(1万個save)の挿入を要求し、45590ms
  • を用いる.
  • mybatisデータ
  • を挿入
  • は一度に1つのデータの挿入を要求する、377msを使用し、その後、1つのデータの挿入を要求するたびに、2-4ms
  • を使用する.
  • は一度に1万個のデータ(1万個save)の挿入を要求し、7846ms
  • を用いる.
  • クエリー速度の比較(このときデータテーブルに1万件のデータがある)
  • JPA照会データ(JPAのfindByTitle)
  • 1回のクエリーで、クエリーの結果は400件のデータで、274msを使用し、その後10回連続のクエリーで、平均は8ms/
  • を使用します.
  • mybatisクエリーデータ
  • 1回のクエリーで、クエリーの結果は400件のデータで、528msを使用し、その後10回連続のクエリーで、平均は21ms/
  • を使用します.
  • クエリー20万データ速度の比較
  • JPA照会データ(JPAのfindByTitle)
  • 1回のクエリーで、クエリーの結果は400件のデータで、452msを使用し、その後10回連続のクエリーで、平均は89ms/
  • を使用します.
  • mybatisクエリーデータ
  • 1回のクエリーで、クエリーの結果は400件のデータで、538msを使用し、その後10回連続のクエリーで、平均は115ms/
  • を使用します.
  • 百万データ量の検索速度の比較(このときデータテーブルに108万個のデータがある)
  • JPA照会データ(JPAのfindByTitle)
  • 1回のクエリーで、クエリーの結果は400件のデータで、892msを使用し、その後10回連続のクエリーで、平均は492ms/
  • を使用します.
  • mybatisクエリーデータ
  • 1回のクエリーで、クエリーの結果は400件のデータで、985msを使用し、その後10回連続のクエリーで、平均は483ms/
  • を使用します.
    24,5679172ページング百万データ量速度の比較(このときデータテーブルに108万個のデータがある)24,5679182.
  • JPAページングクエリデータ(カスタムクエリ文)
  • 1回のクエリーで、各ページのクエリー結果は50個のデータで、96msを使用し、その後10回連続のクエリーで、平均は8ms/
  • を使用します.
  • JPAページングクエリデータ(Pageableクエリ)
  • 1回のクエリーで、各ページのクエリー結果は50個のデータで、429msを使用し、その後10回連続のクエリーで、平均は164ms/
  • を使用します.
  • mybatisクエリーデータ
  • 1回のクエリーで、各ページのクエリー結果は50個のデータで、506msを使用し、その後10回連続のクエリーで、平均は6ms/
  • を使用します.
  • 削除データ比較(このときデータテーブルに108万件のデータがある)
  • .
  • JPA削除1件データ(deteBy)
  • 第1回削除用時266ms、その後1回削除平均用時2ms
  • .
  • JPA削除一日データ(カスタム削除)
  • 第1回削除用時68ms、その後1回削除平均用時1ms
  • .
  • mybatisデータ
  • を削除
  • 第1回削除用時36ms、その後1回削除平均用時1ms
  • .
  • 更新データの比較(このときデータテーブルに108万件のデータがある)
  • .
  • JPA更新1データ
  • は、初めて1つのデータ(プライマリ・キーidによる更新)を更新し、62msを用い、その後、平均2ms/
  • を更新する.
  • mybatis更新データ
  • は、初めて1つのデータ(プライマリ・キーidによる更新)を更新し、40msを用い、その後、平均2ms/
  • を更新する.
  • 千万級クエリーの比較(このときデータテーブルに1100万件のデータがある)
  • JPAクエリーデータ(findById)
  • 最初に1つのデータ(プライマリ・キーidによるクエリー)をクエリーし、285msを使用し、その後、クエリーごとに平均2ms/
  • をクエリーする.
  • JPAクエリーデータ(カスタムクエリー)
  • 最初に1つのデータ(プライマリ・キーidによるクエリー)をクエリーし、87msを使用し、その後、クエリーごとに平均2ms/
  • をクエリーする.
  • mybatisクエリーデータ
  • 最初に1つのデータ(プライマリ・キーidによるクエリー)をクエリーし、377msを使用し、その後、クエリーごとに平均2ms/
  • をクエリーする.