BeetlSQL 3.23.7 发布,新增 MyBatis-Flex、EasyQuery 性能测试


  • 调整SqlIdFactory实现,使用类全路径名作为sqlId标识
  • 调整BeetlSQL+SpringBoot集成方式,支持SpringBoot3
  • 新增MyBatis-Flex,EasyQuery  俩款ORM工具性能测试

maven

<dependency>
<groupId>com.ibeetl</groupId>
<artifactId>beetlsql</artifactId>
<version>3.23.7-RELEASE</version>
</dependency>

 

      BeetlSQL 自主研发自 2015 年,目标是提供开发高效,维护高效,运行高效的数据访问框架,它适用范围广,定制性强,写起数据库访问代码特别顺滑,不亚于 MyBatis。你不想写 SQL 也好,或者想更好地写 SQL 也好,BeetlSQL 都能满足这要求,目前支持的数据库如下

  • 传统数据库:MySQL (包括支持 MySQL 协议的各种数据库), MariaDB ,Oralce ,Postgres (包括支持 Postgres 协议的各种数据库), DB2 , SQL Server ,H2 , SQLite , Derby ,神通,达梦,华为高斯,人大金仓,PolarDB,GBase8s,GreatSQL 等
  • 大数据:HBase,ClickHouse,Cassandar,Hive,GreenPlum
  • 物联网时序数据库:Machbase,TD-Engine,IotDB
  • SQL 查询引擎:Drill,Presto,Druid
  • 内存数据库:ignite,CouchBase
     

      如下测试Score越大性能越好,包含了常用的 orm 操作: 多表联合查询映射(complexMapping),直接执行 sql (executeJdbc), 执行模板 sql (executeTemplate), 执行文件中的模板 sql ( File), 内置插入(insert),Query 调用链,翻页查询 (pageQuery), 内置主键查询 (selectById), one2Many 自动关联查询

Benchmark ModeCnt Score Error Units
JMHMain.beetlsqlComplexMapping thrpt3 224.234 ± 551.444ops/ms
JMHMain.beetlsqlExecuteJdbcthrpt3 504.526 ± 208.228ops/ms
JMHMain.beetlsqlExecuteTemplatethrpt3 434.031 ± 110.087ops/ms
JMHMain.beetlsqlFile thrpt3 428.368 ± 235.069ops/ms
JMHMain.beetlsqlGetAll thrpt3 3.023 ± 3.741ops/ms
JMHMain.beetlsqlLambdaQuerythrpt3 259.796 ±37.421ops/ms
JMHMain.beetlsqlOne2Many thrpt3 120.713 ±68.157ops/ms
JMHMain.beetlsqlPageQuerythrpt3 202.702 ±92.875ops/ms
JMHMain.beetlsqlSelectById thrpt3 423.833 ± 204.166ops/ms
JMHMain.easyQueryComplexMappingthrpt360.562 ± 238.406ops/ms
JMHMain.easyQueryExecuteJdbc thrpt3 656.139 ± 162.165ops/ms
JMHMain.easyQueryGetAllthrpt3 9.028 ± 3.977ops/ms
JMHMain.easyQueryLambdaQuery thrpt3 326.350 ± 280.253ops/ms
JMHMain.easyQueryPageQuery thrpt3 132.464 ±91.686ops/ms
JMHMain.easyQuerySelectByIdthrpt3 292.797 ± 324.954ops/ms
JMHMain.flexGetAll thrpt3 0.910 ± 0.503ops/ms
JMHMain.flexPageQuerythrpt365.606 ± 402.289ops/ms
JMHMain.flexSelectById thrpt3 218.314 ± 152.861ops/ms
JMHMain.jdbcExecuteJdbcthrpt31081.216 ± 225.041ops/ms
JMHMain.jdbcGetAll thrpt313.381 ± 2.713ops/ms
JMHMain.jdbcSelectById thrpt31077.471 ± 197.462ops/ms
JMHMain.jpaExecuteJdbc thrpt3 104.056 ± 301.241ops/ms
JMHMain.jpaExecuteTemplate thrpt3 130.304 ± 168.880ops/ms
JMHMain.jpaGetAllthrpt3 0.552 ± 0.260ops/ms
JMHMain.jpaInsertthrpt363.933 ± 359.824ops/ms
JMHMain.jpaOne2Manythrpt399.006 ±87.633ops/ms
JMHMain.jpaPageQuery thrpt3 116.191 ± 191.231ops/ms
JMHMain.jpaSelectByIdthrpt3 319.718 ± 129.206ops/ms
JMHMain.mybatisComplexMappingthrpt3 106.319 ±28.726ops/ms
JMHMain.mybatisExecuteTemplate thrpt3 222.515 ± 252.383ops/ms
JMHMain.mybatisFilethrpt3 171.852 ± 188.859ops/ms
JMHMain.mybatisGetAllthrpt3 1.183 ± 0.142ops/ms
JMHMain.mybatisLambdaQuery thrpt310.197 ±17.721ops/ms
JMHMain.mybatisPageQuery thrpt366.245 ±53.023ops/ms
JMHMain.mybatisSelectByIdthrpt3 205.925 ± 481.288ops/ms
JMHMain.woodExecuteJdbcthrpt3 378.089 ± 124.102ops/ms
JMHMain.woodExecuteTemplatethrpt3 408.150 ± 172.513ops/ms
JMHMain.woodFile thrpt3 426.547 ± 182.839ops/ms
JMHMain.woodGetAll thrpt3 1.100 ± 0.729ops/ms
JMHMain.woodLambdaQuerythrpt3 402.107 ± 159.309ops/ms
JMHMain.woodPageQuerythrpt3 247.074 ± 132.585ops/ms
JMHMain.woodSelectById thrpt3 395.659 ±39.505ops/ms

阅读文档 源码和例子 在线体验 多库使用 性能测试


相關推薦

2023-10-10

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能

2023-10-28

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能

2023-09-23

技术都能四世同堂,凭什么开发 30 岁就要被干掉? MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、

2023-10-17

的前两天),相约开源PHP办公室,我们一起聊 AI!>>> MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、

2023-08-13

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能

2023-07-14

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能

2023-08-08

本次调整把BeetlSQL的扩展调整到beetlsql-ext模块下,包含如下子模块 sql-xml:  XML文件支持,允许使用类似MyBatis的XML语法写BeetlSQL的SQL文件 sql-firewall:  SQL防火墙支持,允许对发送到数据库的SQL检查,避免一些常见的SQL错误

2023-07-27

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能

2024-01-06

44 log4j 升为 2.22.1 logback 升为 1.3.14 sqltoy 升为 5.2.88 mybatis-flex 升为 1.7.6 beetlsql 升为 3.27.4-RELEASE fastmybatis 升为 2.10.0 socket.d 升为 2.2.2 folkmq 升为 1.0.26 项目仓库地址? gitee:https://gitee.com/noear/solon github:https://githu

2023-08-06

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能

2023-04-19

Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。

2023-04-22

Mybatis-Flex 是一个优雅的 Mybatis 增强框架,它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库,其内置的 QueryWrapper 帮助我们极大的减少了 SQL 编写的工作的同时,减少出错的可能性。

2023-08-27

26 日「源创会」北京站,聊聊 AI 大模型与底层技术 >>> MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、

2024-07-24

MyBatis-Flex: 一个优雅的 MyBatis 增强框架 特征 1、很轻量 MyBatis-Flex 整个框架只依赖 MyBatis,再无其他任何第三方依赖。 2、只增强 MyBatis-Flex 支持 CRUD、分页查询、多表查询、批量操作,但不丢失 MyBatis 原有的任何功能