性能优化 | zorm v1.8.5 发布
Go 轻量 ORM,零依赖,零侵入分布式事务,支持达梦 (dm)、金仓 (kingbase)、神通 (shentong)、南通 (gbase)、TDengine、mysql、postgresql、oracle、mssql、sqlite、db2、clickhouse...
源码:[https://gitee.com/chunanyong/zorm](https://gitee.com/chunanyong/zorm)
官网:[https://zorm.cn](https://zorm.cn)
- 基于原生 sql 语句,学习成本更低,性能更优
- [代码生成器](https://gitee.com/zhou-a-xing/zorm-generate-struct)
- 代码精简,主体 3000 行,零依赖 5000 行,注释详细,方便定制修改
- **支持事务传播,这是 zorm 诞生的主要原因**
- 支持 mysql、postgresql、oracle、mssql、sqlite、db2、**dm (达梦)、kingbase (金仓)、shentong (神通)、gbase (南通)、TDengine、clickhouse**
- 支持多库和读写分离
- 不支持联合主键,变通认为无主键,业务控制实现 (艰难取舍)
- 集成 seata-go、hptx、dbpack,支持全局托管,不修改业务代码,零侵入分布式事务
- 支持 clickhouse,更新和删除语句使用 SQL92 标准语法
**更新:**
1. 复用 `sqlRowsValues` 中的载体数组,减少每行结果扫描时的内存分配
2. 预分配 slice 容量,避免 reflect.Append 在循环中多次扩容
3. 去掉重复调用的 `getConfigFromConnection`
4. 完善文档,注释
---
原文链接:[点击查看](https://www.oschina.net/news/471642/zorm-1-8-5-released)
源码:[https://gitee.com/chunanyong/zorm](https://gitee.com/chunanyong/zorm)
官网:[https://zorm.cn](https://zorm.cn)
- 基于原生 sql 语句,学习成本更低,性能更优
- [代码生成器](https://gitee.com/zhou-a-xing/zorm-generate-struct)
- 代码精简,主体 3000 行,零依赖 5000 行,注释详细,方便定制修改
- **支持事务传播,这是 zorm 诞生的主要原因**
- 支持 mysql、postgresql、oracle、mssql、sqlite、db2、**dm (达梦)、kingbase (金仓)、shentong (神通)、gbase (南通)、TDengine、clickhouse**
- 支持多库和读写分离
- 不支持联合主键,变通认为无主键,业务控制实现 (艰难取舍)
- 集成 seata-go、hptx、dbpack,支持全局托管,不修改业务代码,零侵入分布式事务
- 支持 clickhouse,更新和删除语句使用 SQL92 标准语法
**更新:**
1. 复用 `sqlRowsValues` 中的载体数组,减少每行结果扫描时的内存分配
2. 预分配 slice 容量,避免 reflect.Append 在循环中多次扩容
3. 去掉重复调用的 `getConfigFromConnection`
4. 完善文档,注释
---
原文链接:[点击查看](https://www.oschina.net/news/471642/zorm-1-8-5-released)
评论
暂无评论。