
SQLite
文章平均质量分 56
蝈蝈(GuoGuo)
这个作者很懒,什么都没留下…
展开
-
delphi fireDAC+SQLite 在多线程下笔记
实际测试,分别建立50个读和50个写线程,同时读写,Synchronous=off 的情况下,数据仍然是同步的,其他线程写的时候,读线程仍然可以立即得到最新的数据状态。仍然是接受sqlite的建议,在数据安全要求不太严的情况下,设置为off模式,网上有人测试,讲off比full模式,效率要高50倍以上。特别是主线程需要注意。开启 WAL后,在 Synchronous = Normal 下,速度仍然非常快,但是,会有一定概率,同一时间读写同一条数据时,读出来的是写入之前的数据。原创 2024-08-24 22:15:33 · 363 阅读 · 0 评论 -
sqlite3 多线程和锁 ,优化插入速度及性能优化
另一个要说明的是prepared statement,它是由数据库连接(的pager)来管理的,使用它也可看成使用这个数据库连接。当开启auto-vacuum,当提交一个从数据库中删除数据的事务时,数据库文件自动收缩, (VACUUM命令在auto-vacuum开启的数据库中不起作用)。sqlite在没有显式使用事务的时候会为每条insert都使用事务操作,而sqlite数据库是以文件的形式存在磁盘中,就相当于每次访问时都要打开一次文件,如果对数据进行大量的操作,时间都耗费在I/O操作上,所以很慢。原创 2024-08-24 22:04:32 · 1840 阅读 · 0 评论 -
在Delphi中使用ATTACH语句合并SQLite数据库
请注意,这个示例假设你已经安装了SQLite3库,并且在Delphi项目中正确引用了SQLite3单元。此外,确保在合并数据库之前备份原始数据,以防止数据丢失。在实际应用中,你可能需要根据具体的表结构和业务逻辑调整SQL语句。语句将源数据库中的表数据复制到主数据库的相应表中。对象,分别代表主数据库和要合并的数据库。语句将源数据库附加为主数据库的一个别名(例如。语句分离附加的数据库,并释放数据库连接对象。以下是一个Delphi示例,展示了如何使用。在这个示例中,我们首先创建并打开了两个。原创 2024-07-15 10:16:48 · 401 阅读 · 0 评论 -
QT 下 SQlite3 数据库加密及 CppSQLite3 操作数据库加密
qt的sqlite加密插件,资源在qt5.9.5下编译。可以直接放到qt插件目录下使用。将产生的sqlitecipher.dll拷贝到plugins\sqldrivers路径下。1.QT下SQlite3 加密(qt4.8.6)如何给整个sqlite数据库加密。原创 2022-11-14 13:50:21 · 885 阅读 · 0 评论 -
Qt数据库编程
每个示例都代表了一个应用方向,时间允许的话可以都阅读分析一下,但是要掌握的核心内容就是如何使用数据库,然后显示数据库数据,搞清楚其流程然后自己写个例子熟悉一下,Qt的数据库编程基本上就没有什么大问题了。其实整个的分析过程中我们可以将其看作一个拼图游戏,我们知道最终的效果,就像我们知道最终会是什么样子,然后我们去完成拼图,虽然单独某个图块不熟悉,但是只要方向不错,那么最终仍然会拼出结果。原创 2022-11-13 19:39:55 · 550 阅读 · 0 评论 -
SQLite 判断表存在/删除表/创建表及if not exist插入数据
Select '001','张三' where not exists(select 1 from Users where UserID = '001')drop table if exists Users;--表Users已存在,则删除。values('001','张三')2、创建表(表Users不存在则创建)3、插入不存在的记录。原创 2022-11-08 08:34:59 · 4518 阅读 · 0 评论