JPA和mybatis的CRUD速度比较

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/WYpersist/article/details/84247541
  • SpringBoot版本:1.4.3.RELEASE
  • 数据库:MySQL

     

  • 插入速度比较(此时的数据表中基本为空)
  • JPA插入一条数据
  • 一次请求 插入一条数据,用时75ms,之后每次请求 插入一条数据,用时在3-5ms
  • 一次请求 插入一万条数据(一万个save),用时 45590ms
  • mybatis插入一条数据
  • 一次请求 插入一条数据,用时377ms,之后每次请求 插入一条数据,用时在2-4ms
  • 一次请求 插入一万条数据(一万个save),用时 7846ms
  • 查询速度的比较(此时数据表中有1万条数据)
  • JPA查询数据(JPA的findByTitle)
  • 一次查询,查询结果为400条数据,用时274ms,之后10次连续的查询,平均用时8ms/次
  • mybatis查询数据
  • 一次查询,查询结果为400条数据,用时528ms,之后10次连续的查询,平均用时21ms/次
  • 查询20万数据量速度的比较
  • JPA查询数据(JPA的findByTitle)
  • 一次查询,查询结果为400条数据,用时452ms,之后10次连续的查询,平均用时89ms/次
  • mybatis查询数据
  • 一次查询,查询结果为400条数据,用时538ms,之后10次连续的查询,平均用时115ms/次
  • 查询百万数据量速度的比较(此时数据表中有108万条数据)
  • JPA查询数据(JPA的findByTitle)
  • 一次查询,查询结果为400条数据,用时892ms,之后10次连续的查询,平均用时492ms/次
  • mybatis查询数据
  • 一次查询,查询结果为400条数据,用时985ms,之后10次连续的查询,平均用时483ms/次
  • 分页查询百万数据量速度的比较(此时数据表中有108万条数据)
  • JPA分页查询数据(自定义查询语句)
  • 一次查询,每页查询结果为50条数据,用时96ms,之后10次连续的查询,平均用时8ms/次
  • JPA分页查询数据(Pageable查询)
  • 一次查询,每页查询结果为50条数据,用时429ms,之后10次连续的查询,平均用时164ms/次
  • mybatis查询数据
  • 一次查询,每页查询结果为50条数据,用时506ms,之后10次连续的查询,平均用时6ms/次
  • 删除数据比较(此时数据表中有108万条数据)
  • JPA删除一条数据(deteteBy)
  • 第一次删除用时266ms,之后每次删除平均用时2ms
  • JPA删除一天数据(自定义删除)
  • 第一次删除用时68ms,之后每次删除平均用时1ms
  • mybatis删除一条数据
  • 第一次删除用时36ms,之后每次删除平均用时1ms
  • 更新数据的比较(此时数据表中有108万条数据)
  • JPA更新一条数据
  • 第一次更新一条数据(根据主键id更新),用时62ms,之后每次更新平均2ms/次
  • mybatis更新一条数据
  • 第一次更新一条数据(根据主键id更新),用时40ms,之后每次更新平均2ms/次
  • 千万级查询的比较(此时数据表中有1100万条数据)
  • JPA查询一条数据(findById)
  • 第一次查询一条数据(根据主键id查询),用时285ms,之后每次查询平均2ms/次
  • JPA查询一条数据(自定义查询)
  • 第一次查询一条数据(根据主键id查询),用时87ms,之后每次查询平均2ms/次
  • mybatis查询一条数据
  • 第一次查询一条数据(根据主键id查询),用时377ms,之后每次查询平均2ms/次

猜你喜欢

转载自blog.csdn.net/WYpersist/article/details/84247541
今日推荐