在真机下,sqllitesqllite 数据库加密插入不了数据,求助

Sqlite数据库里插入数据的条数上限是500
投稿:hebedich
字体:[ ] 类型:转载 时间:
sqlite每次只能插入的数据不能超过500条数据,大家在使用的时候需要注意一下。
今天在向Sqlite数据库里插入数据的时候,报了这样一个错:
"too many terms in compound SELECT"
去Stackoverflow上查了一下,发现有人回答这个问题:链接
原来一次性向数据库里插入数据的条数不能太多,上限是500条。超出会报错。
解决方案就是只好分多次插入数据库了。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具sqlite数据库插入数据的速度问题。
前一段时间做一个项目用到了sqlite数据库。可是效率实在太低了。我开始怀疑是不是我调度sql语句的问题造成的,但当我我单独写个测试类测试的时候差不多就二十来条记录速度就已经慢的让人无法忍受了。别说成百上千条,甚至成千上万条数据的插入。后来查了下资料终于明白是怎么回事了。原来sqlite数据库默认的是每插入一条记录便调度一次事务,平均每次事务花的时间差不多0.2s,这样一来,插入二十几条数据就足足需要4-5s钟了,这样的速度对用户来说是完全无法忍受的。
解决的办法就是将sqlite数据库在代码里设为手动提交事务。然后将一次要插入的所有记录放在一个事务里。这样不管插入多少条数据都只调度了一次事务。这样一来,速度就相当可观了。就算插入大量数据也用不了多长时间了。
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。解决SQLite3插入数据很慢的问题_数据库技术_Linux公社-Linux系统门户网站
你好,游客
解决SQLite3插入数据很慢的问题
来源:Linux社区&
作者:victoryknight
初用sqlite3插入数据时,插入每条数据大概需要100ms左右。如果是批量导入,可以引进事物提高速度。但是假设你的业务是每间隔几秒插入几条数据,显然100ms是不能容许的。解决办法是,在调用sqlite3_open函数后添加下面一行代码:
sqlite3_exec(db, "PRAGMA synchronous = OFF; ", 0,0,0);
上面的解决办法貌似治标不治本,为什么加上上面的代码行,速度会提高那么多?网上解释如下:
1.如何设置:
PRAGMA synchronous = FULL; (2)
PRAGMA synchronous = NORMAL; (1)
PRAGMA synchronous = OFF; (0)
2.参数含义:
当synchronous设置为FULL (2), SQLite数据库引擎在紧急时刻会暂停以确定数据已经写入磁盘。这使系统崩溃或电源出问题时能确保数据库在重起后不会损坏。FULL synchronous很安全但很慢。
当synchronous设置为NORMAL, SQLite数据库引擎在大部分紧急时刻会暂停,但不像FULL模式下那么频繁。 NORMAL模式下有很小的几率(但不是不存在)发生电源故障导致数据库损坏的情况。但实际上,在这种情况 下很可能你的硬盘已经不能使用,或者发生了其他的不可恢复的硬件错误。
设置为synchronous OFF (0)时,SQLite在传递数据给系统以后直接继续而不暂停。若运行SQLite的应用程序崩溃, 数据不会损伤,但在系统崩溃或写入数据时意外断电的情况下数据库可能会损坏。另一方面,在synchronous OFF时 一些操作可能会快50倍甚至更多。在SQLite 2中,缺省值为NORMAL.而在3中修改为FULL。
如果有定期备份的机制,而且少量数据丢失可接受,用OFF。
注意上面红色加粗的字样。总结:如果你的数据对安全性完整性等要求不是太高,可以采用设置为0的方法,毕竟只是“数据库可能会损坏”,至于损坏几率为多大,笔者也暂不知晓。。。。。。还没遇到过损坏,不知什么时候才会发生。
相关资讯 & & &
& (03月01日)
& (02月09日)
& (05月04日)
& (02月17日)
& (01月29日)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款&&&&android中SQLite数据库中用insert同时插入多条记录的方法和效率比较
&android中SQLite数据库中用insert同时插入多条记录的方法和效率比较
android中SQLite数据库中用insert同时插入多条记录的方法和效率比较
若举报审核通过,可奖励20下载分
被举报人:
angelshare
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
Q.为什么我点的下载下不了,但积分却被扣了
A. 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的。
Q.我的积分不多了,如何获取积分?
A. 获得积分,详细见。
完成任务获取积分。
论坛可用分兑换下载积分。
第一次绑定手机,将获得5个C币,C币可。
关注并绑定CSDNID,送10个下载分
下载资源意味着您已经同意遵守以下协议
资源的所有权益归上传用户所有
未经权益所有人同意,不得将资源中的内容挪作商业或盈利用途
CSDN下载频道仅提供交流平台,并不能对任何下载资源负责
下载资源中如有侵权或不适当内容,
本站不保证本站提供的资源的准确性,安全性和完整性,同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
移动开发下载排行
您当前C币:0&&&可兑换 0 下载积分
兑换下载分:&
消耗C币:0&
立即兑换&&
兑换成功你当前的下载分为 。前去下载资源
你下载资源过于频繁,请输入验证码
如何快速获得积分?
你已经下载过该资源,再次下载不需要扣除积分
android中SQLite数据库中用insert同时插入多条记录的方法和效率比较
所需积分:5
剩余积分:0
扫描微信二维码精彩活动、课程更新抢先知
VIP会员,免积分下载
会员到期时间:日
剩余下载次数:1000
android中SQLite数据库中用insert同时插入多条记录的方法和效率比较
剩余次数:&&&&有效期截止到:
你还不是VIP会员VIP会员享免积分 . 专属通道极速下载
VIP下载次数已满VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员
你的VIP会员已过期VIP会员享免积分 . 专属通道极速下载,请继续开通VIP会员写了个iOS小项目,数据缓存使用了sqlite,在模拟器上运行正常,但是到了真机调试时问题?
真机调试时打开数据库创建的时候提示失败,不知道什么情况,求高人支招
按投票排序
信息太少,不好判断。请先检查一下数据库的路径,注意检查文件名的大小写。模拟器上是不区分大小写的,真机区分。
请不要把这里当成百度,问题偏向基础,建议QQ群
最好有错误内容方便排査
是不是你文件名不是db的扩展名,还是什么的扩展名,对数据库文件名字有要求
是不是用了真机上面没有的路径。。。。
代码呢我的大兄弟
我也遇到这个问题求大神指点
先要把数据库文件复制到本地。对本地的数据进行操作。不能直接对包里面的数据进行操作。
已有帐号?
无法登录?
社交帐号登录}

我要回帖

更多关于 sqllite 删除数据库 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信