社区
其他数据库
帖子详情
频繁更新sqlite3数据库导致数据库被锁定的问题!
qfpcn
2008-12-23 09:17:04
我是在linux下用c写的程序,用root用户执行。
我的程序中每1秒左右就需要向sqlite数据库中插入1条记录,每次大概插入1000条左右就会导致数据库被锁定"database is locked",请问达人如何解决?
注:问题解决了另外给分!
...全文
2387
14
打赏
收藏
频繁更新sqlite3数据库导致数据库被锁定的问题!
我是在linux下用c写的程序,用root用户执行。 我的程序中每1秒左右就需要向sqlite数据库中插入1条记录,每次大概插入1000条左右就会导致数据库被锁定"database is locked",请问达人如何解决? 注:问题解决了另外给分!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
skyjsq
2010-06-07
打赏
举报
回复
一个时间只能有一个query 操作数据库的,多线程的时候要特别注意
iihero
2010-06-07
打赏
举报
回复
[Quote=引用 11 楼 reer 的回复:]
由检查conn.Close()的返回值想到一个问题:
如果sqlite3_finalize()返回SQLITE_BUSY,那这时sqlite3 *p_stmt资源释放了吗?
[/Quote]
如果返回的是busy,肯定有资源没有被释放。
robotdeng
2010-05-13
打赏
举报
回复
单线程不会有锁定的问题。。。
肯定你是采用了多线程,每个线程打开一个connection。如果后一个线程访问时,前一个线程正在执行插入操作,所以就有问题了。
reer
2010-05-13
打赏
举报
回复
由检查conn.Close()的返回值想到一个问题:
如果sqlite3_finalize()返回SQLITE_BUSY,那这时sqlite3 *p_stmt资源释放了吗?
zzmwmh
2010-05-06
打赏
举报
回复
conn不关应该没事吧,不过不要重复的open应该没事吧,开阿关阿更浪费资源,1秒写一次应该不会有问题的
iihero
2010-05-06
打赏
举报
回复
[Quote=引用楼主 qfpcn 的回复:]
我是在linux下用c写的程序,用root用户执行。
我的程序中每1秒左右就需要向sqlite数据库中插入1条记录,每次大概插入1000条左右就会导致数据库被锁定"database is locked",请问达人如何解决?
注:问题解决了另外给分!
[/Quote]
1秒钟写1条,应该问题不大。
关键是你这个应用是多线程并发的吗?那就要注意了。
最好是单线程程序。
fuhanw
2010-04-20
打赏
举报
回复
仔细检查 conn.Close(); !
100%解决问题!
subarashii
2009-05-05
打赏
举报
回复
好像会遇到一些大量的频繁的写数据时,数据库会有问题。
你试试没操作一次都把下面这些东西关闭
stmt.close();
rset.close();
conn.close();
greenkiller
2009-01-13
打赏
举报
回复
我也正在用SQLite做点东西
受教
除了“使用事务方式将一分钟内的记录一起插入”方式,还有其他方法么?
shuifengcun
2009-01-02
打赏
举报
回复
没错
iisbsd
2009-01-02
打赏
举报
回复
如果有代码的话比较好。
ultraedit55
2008-12-31
打赏
举报
回复
ding
cdqy
2008-12-30
打赏
举报
回复
这么频繁的插入,最好是每一分钟,使用事务方式将一分钟内的记录一起插入.
cdqy
2008-12-30
打赏
举报
回复
sqlite3_busy_timeout( db, 200 ); //设置数据库超时等待时间200MS
SQLITE
数据库
UPDATE慢
在
SQLITE
数据库
中,UPDATE操作可能会遇到性能
问题
,
导致
更新
速度缓慢。这通常是由于多种因素引起的,包括但不限于索引缺失、大数据量、触发器、事务处理、锁竞争以及查询优化等。下面我们将深入探讨这些因素,并提供...
Android多线程操作
sqlite
(
Sqlite
解决database locked
问题
)
在Android中,如果多个线程同时尝试对同一个
SQLite
数据库
进行读写操作,就可能
导致
这种
锁定
情况。 为了解决这个
问题
,我们可以采取以下策略: 1. **使用
SQLite
OpenHelper的子类**:创建一个自定义的...
sqlite
3-stress:多线程写入
Sqlite
3
数据库
SQLite
3使用
锁定
机制来解决这个
问题
,但过于
频繁
的冲突可能
导致
性能下降。 2. **锁等待**:在高并发环境中,线程可能需要等待其他线程释放锁,这可能
导致
响应时间增加。 3. **资源争抢**:多个线程同时访问
数据库
...
QT中
sqlite
多线程操作4个注意
问题
在Qt框架中,
SQLite
数据库
是常用于存储应用程序数据的轻量级
数据库
引擎。然而,当在多线程环境中使用
SQLite
时,需要注意一些关键
问题
以确保数据的安全性和一致性。以下是四个重要的考虑因素: 1. **线程安全**: ...
处理上百万条的
数据库
如何提高处理查询速度(
数据库
开发必看)
### 处理上百万条的
数据库
如何提高处理查询速度(
数据库
开发必看) 在
数据库
开发过程中,特别是当
数据库
中存储了上百万甚至更多的数据时,提高查询效率是至关重要的。以下是一些有效的策略和建议,可以帮助优化SQL...
其他数据库
2,209
社区成员
9,519
社区内容
发帖
与我相关
我的任务
其他数据库
其他数据库开发 其他数据库
复制链接
扫一扫
分享
社区描述
其他数据库开发 其他数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章