开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 561|回复: 45
收起左侧

[易源码分享] SQLite3,升级,新增JSON简单处理!

[复制链接]
结帖率:0% (0/1)
发表于 昨天 07:54 | 显示全部楼层 |阅读模式   山东省威海市
分享源码
界面截图: -
是否带模块: -
备注说明: -
#### 核心特点
- **API**: 区分 `raw_` (原始) 和 `safe_` (易语言友好) 两种风格
- **真·多实例**: 通过句柄管理多个数据库连接
- **线程安全**: 多线程安全操作
- **双查询模式**: JSON格式和原始字符串格式
- **扩展支持**: 内置 FTS5、JSON1、R-Tree 等扩展
- **异步日志**: 可选独立线程记录所有SQL执行
- **自动优化**: 连接时自动应用WAL模式、内存映射等性能优化
- **连接池优化**: 使用专业连接池,支持超时机制
- **心跳检测**:`heartbeat_interval_min` 参数,定期执行 `SELECT 1` 保持连接活跃,防止网络存储断开、系统休眠后连接失效
- **自动 WAL Checkpoint**:`wal_checkpoint_interval_min` 参数,定期回收 WAL 文件,防止文件过大(仅 WAL 模式有效)
- **阻止系统休眠**:`prevent_sleep` 参数,阻止 Windows 自动休眠,适用于长时间运行的后台服务
- **易语言友好参数**: 支持单引号简化格式

### 使用建议
- **普通应用**:心跳=10分钟,checkpoint=30分钟,阻止休眠=0
- **后台服务**:心跳=5分钟,checkpoint=10分钟,阻止休眠=1
- **网络存储**:心跳=3分钟,checkpoint=30分钟,阻止休眠=0
- **"内置 FTS5、JSON1、R-Tree" → "默认启用 FTS5、JSON1、R-Tree"


#### 使用建议
1. **大批量插入**:先用模板1(高速写入),导入完成后再切回默认模式
2. **Web服务器**:创建实例后立即应用模板2(高并发读取)
3. **关键数据**:使用模板3(安全优先),牺牲性能换取数据安全
4. **嵌入式设备**:使用模板4(内存敏感),降低资源占用
5. **数据分析**:使用模板5(大数据处理),提升复杂查询速度


## 压力测试结果(实测数据) 相当于跑分,单纯性能,数据也分大小等等情况,参考下就好了.

│ 批量插入   │ 10000条(事务)               │ 60.8ms          │
│ 批量插入   │ 100000条(事务)             │  573ms           │
│ 批量插入   │ 100条(无事务)               │  2.2ms           │
│ 大数据查询 │ 全表JSON(10000条)       │ 11.9ms          │
│ 大数据查询 │ 全表原始(10000条)        │ 8.6ms           │
│ 大数据查询 │ 条件查询(2500条)          │ 2.1ms           │
│ 大数据查询 │ 聚合查询                      |  1.4ms           │
│ 大数据查询 │ 分页查询10页                |  1.0ms           │
│ WAL模式    │ 写入50000条                 │ 310ms           │
│ WAL模式    │ Checkpoint性能              │ 1.2ms           │
│ 连接池     │ 高并发(50线程×20操作)    │ 1000/1000成功   │

### 批量插入性能
│ 10000条(事务)     │ 60.8ms  │ ~16.4万条/秒 │
│ 100000条(事务)    │ 573ms   │ ~17.4万条/秒 │
│ WAL模式50000条    │ 310ms   │ ~16.1万条/秒 │

### 查询性能
│ 全表JSON(10000条)  │ 11.9ms │ 1.08MB    │
│ 全表原始(10000条)   │ 8.6ms  │ 670KB       │
│ 条件查询(2500条)     │ 2.1ms  │ ---            │
│ 聚合查询                 │ 1.4ms  │ ---            │
│ 分页查询10页          │ 1.0ms  │ 每页100条   │


### 并发读写性能
**测试条件:WAL模式已启用(默认),连接池大小=10**
- 写多读少:4个写线程 + 1个读线程,模拟日志记录、数据导入场景
- 写少读多:1个写线程 + 4个读线程,模拟Web服务、报表查询场景
- 同写同读:2个写线程 + 2个读线程,模拟实时数据处理场景
- 混合CRUD:INSERT/SELECT/UPDATE/DELETE 同时进行,模拟真实业务场景

│ 写多读少 (4:1)   │ 1000  │ 250      │ 51ms   │ 19607 操作/秒  │
│ 写少读多 (1:4)   │ 250    │ 1000     │ 33ms   │ 30303 操作/秒 │
│ 同写同读 (1:1)   │ 1000  │ 1000     │ 47ms   │ 42553 操作/秒 │
│ 混合CRUD压力   │ 200    │ 200      │ 30ms   │ 24137 操作/秒 │

**应用场景建议**:
│ 日志/数据导入   │ 使用事务批量插入,减少事务次数       │
│ Web服务/报表   │ 增大连接池,使用索引加速查询          │
│ 实时数据处理    │ 平衡读写线程数,利用WAL并行优势    │
│ 混合业务          │ 根据CRUD比例调整连接池和索引策略  │

为了以后方便统一更新放在了夸克网盘,大家可以保存到自己的网盘,持续更新各类轮子,论坛时间久了后无法编辑,很麻烦的.
大家新年快乐,QQ群:1071098978 有问题群内反馈,都会及时更新,以前有几个轮子也已经更新过了..

预告下.AES通用加密解密dll准备更新,以前只支持GCM.

│ 加密模式        │ 加密速度    │ 解密速度    │ 技术特点         │
│ GCM 100MB    │ 1531 MB/s  │ 1906 MB/s   │ 极速+认证     │
│ CBC 1MB        │ 729 MB/s   │ 3110 MB/s   │ 解密超快        │
│ CBC CS3        │ 627 MB/s    │ 1010 MB/s   │ 流式无填充     │

CBC 模式(7种填充)
CBC 密文窃取(3种)

│ 填充模式       │ 加密速度    │ 解密速度    │ 开销    │
│ PKCS7 (基准) │ 554 MB/s    │ 1375 MB/s   │ 0%    │ ⭐⭐⭐ 推荐    │
│ PKCS5           │ 554 MB/s    │ 1375 MB/s   │ 0%   │ ⭐⭐ 历史兼容  │
│ Zero             │ 560 MB/s    │ 1400 MB/s   │ +1%  │ ⭐ 嵌入式      │
│ X923            │ 545 MB/s    │ 1350 MB/s   │ -2%   │ ⭐ 金融        │
│ ISO10126      │ 520 MB/s    │ 1300 MB/s   │ -6%  │ ❌ 不推荐      │
│ ISO7816-4     │ 550 MB/s    │ 1360 MB/s   │ -1%  │ ⭐⭐ 智能卡    │
│ NoPadding     │ 570 MB/s    │ 1420 MB/s   │ +3%  │ ⭐⭐ 最快      │


游客,如果您要查看本帖隐藏内容请回复



评分

参与人数 4好评 +1 精币 +4 收起 理由
风雨3137 + 1 感谢分享,很给力!~
cui870222829 + 1 感谢分享,很给力!~
zjbin1989 + 1 感谢分享,很给力!~
kanhaiyouyue + 1 + 1 支持开源~!感谢分享

查看全部评分


结帖率:0% (0/1)

签到天数: 1 天

发表于 2 小时前 | 显示全部楼层   福建省莆田市
感谢分享!!!
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2 小时前 | 显示全部楼层   **
学习学习
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 2 小时前 | 显示全部楼层   内蒙古自治区赤峰市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 5 小时前 | 显示全部楼层   广东省汕头市
6666666666666
回复 支持 反对

使用道具 举报

签到天数: 16 天

发表于 6 小时前 | 显示全部楼层   河南省安阳市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:96% (24/25)

签到天数: 16 天

发表于 6 小时前 | 显示全部楼层   广东省广州市
给力啊                     
回复 支持 反对

使用道具 举报

结帖率:83% (5/6)

签到天数: 10 天

发表于 昨天 23:43 | 显示全部楼层   贵州省毕节市
如果您要查看本帖隐藏内容请回复
回复 支持 反对

使用道具 举报

结帖率:60% (6/10)

签到天数: 5 天

发表于 昨天 23:32 | 显示全部楼层   浙江省台州市
感谢分享,很给力!~
回复 支持 反对

使用道具 举报

结帖率:93% (27/29)

签到天数: 12 天

发表于 昨天 22:35 | 显示全部楼层   河北省张家口市
│ 填充模式       │ 加密速度    │ 解密速度    │ 开销    │
│ PKCS7 (基准) │ 554 MB/s    │ 1375 MB/s   │ 0%    │ ⭐⭐⭐ 推荐    │
│ PKCS5           │ 554 MB/s    │ 1375 MB/s   │ 0%   │ ⭐⭐ 历史兼容  │
│ Zero             │ 560 MB/s    │ 1400 MB/s   │ +1%  │ ⭐ 嵌入式      │
│ X923            │ 545 MB/s    │ 1350 MB/s   │ -2%   │ ⭐ 金融        │
│ ISO10126      │ 520 MB/s    │ 1300 MB/s   │ -6%  │ ❌ 不推荐      │
│ ISO7816-4     │ 550 MB/s    │ 1360 MB/s   │ -1%  │ ⭐⭐ 智能卡    │
│ NoPadding     │ 570 MB/s    │ 1420 MB/s   │ +3%  │ ⭐⭐ 最快      │
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表