开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

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


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

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

楼主: 酷宝贝
收起左侧

[2019开源大赛(第四届)] sqlite3.30.1 数据库模块+支持库(彻底解决多线程死锁问题)

    [复制链接]
发表于 2022-11-11 13:12:15 | 显示全部楼层   河南省许昌市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-10-31 23:00:32 | 显示全部楼层   四川省眉山市

今天进行了静态编译,执行exe测试sqlite3_free_table 仅需160毫秒左右,跟编译器调试中的100多甚至700多秒简直天壤之别
回复 支持 反对

使用道具 举报

签到天数: 5 天

发表于 2022-10-28 16:46:17 | 显示全部楼层   江苏省扬州市
支持开源~!感谢分享
回复 支持 反对

使用道具 举报

发表于 2022-10-27 21:10:01 | 显示全部楼层   四川省眉山市
我从官网下载了sqlite的源文件,找到了sqlite3_free_table函数的代码,似乎是把从 sqlite3_get_table 函数中得到的结果 循环调用sqlite3_free函数 一点一点地释放,可能是这个原因导致速度太慢

SQLITE_API void sqlite3_free_table(
  char **azResult            /* Result returned from sqlite3_get_table() */
){
  if( azResult ){
    int i, n;
    azResult--;
    assert( azResult!=0 );
    n = SQLITE_PTR_TO_INT(azResult[0]);
    for(i=1; i<n; i++){ if( azResult[i] ) sqlite3_free(azResult[i]); }
    sqlite3_free(azResult);
  }
}
回复 支持 反对

使用道具 举报

发表于 2022-10-27 01:37:18 | 显示全部楼层   四川省眉山市
本帖最后由 tianxian002 于 2022-10-27 01:46 编辑

代码没有问题,我有一张135637行,23字段的文本型表。截图是用不同的方法取整表返回二维数组的花费的毫秒数(每行最后数字),红色方框是sqlite3_free_table 函数花费109秒。
我试过如果表里面只留一行数据,sqlite3_free_table 花费0毫秒。

另外还有个问题,我从SQLite官网下载最新版本3.39.4的sqlite3.dll替换原先的dll文件,结果编译的时候提示找不到命令,还请大佬指点一下迷津。
[color=rgba(0, 0, 0, 0.85)]无法找到指定dll库文件“sqlite3.dll”中的输出命令“sqlite3_open_v2”






用不同的方法取整表返回二维数组的花费的毫秒数

用不同的方法取整表返回二维数组的花费的毫秒数

使用官网最新3.39.4版dll文件 编译提示找不到命令

使用官网最新3.39.4版dll文件 编译提示找不到命令

点评

加密版本的DLL, 本来就是根据官方DLL, 实现了加密接口来的, 功能方面又没有变   四川省宜宾市  发表于 2022-11-16 08:26
你用官方DLL也是一样的耗时, 提示找不到命令, 应该是你使用的DLL需要运行库, 而你没有装   四川省宜宾市  发表于 2022-11-16 08:25
回复 支持 反对

使用道具 举报

发表于 2022-10-20 09:20:37 | 显示全部楼层   广东省惠州市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:13% (1/8)

签到天数: 7 天

发表于 2022-10-19 07:56:33 | 显示全部楼层   福建省泉州市
66666666666666666666666666666666666666
回复 支持 反对

使用道具 举报

结帖率:100% (47/47)

签到天数: 31 天

发表于 2022-10-18 15:41:51 | 显示全部楼层   江西省南昌市

EnMicroMsg.zip (962.16 KB, 下载次数: 0)
回复 支持 反对

使用道具 举报

签到天数: 1 天

 楼主| 发表于 2022-10-15 22:26:30 | 显示全部楼层   四川省宜宾市
tianxian002 发表于 2022-10-14 04:10
你好,使用模块的时候发现 数据库.取表内容() 这条命令会卡在 sqlite3_free_table (局部_内容),时间多达10 ...

这要看你代码了
回复 支持 反对

使用道具 举报

发表于 2022-10-14 04:10:35 | 显示全部楼层   四川省眉山市
你好,使用模块的时候发现 数据库.取表内容() 这条命令会卡在 sqlite3_free_table (局部_内容),时间多达10多分钟,不知道是什么原因导致的

点评

这要看你代码了   四川省宜宾市  详情 回复 发表于 2022-10-15 22:26
回复 支持 反对

使用道具 举报

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

本版积分规则 致发广告者

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

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

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