您好、欢迎来到现金彩票网!
当前位置:双彩网 > 写到内存 >

C++ 使用 SQLite3 打开指定数据库执行插入操作后会什么会写到磁

发布时间:2019-06-08 02:05 来源:未知 编辑:admin

  C++ 使用 SQLite3 ,打开指定数据库,执行插入操作后会什么会写到磁盘?不是对内存进行操作吗?

  C++ 使用 SQLite3 ,打开指定数据库,执行插入操作后会什么会写到磁盘?不是对内存进行操作吗?

  找了网上的一个SQLite3使用的小例子,大致的代码就是打开数据库,然后写一条语句,然后执行啊啥的。就可以对数据库进行曾删改查了,但是通过注释看到打开数据库的时候如果数据库不存在...

  找了网上的一个 SQLite3使用的小例子,大致的代码就是打开数据库,然后写一条语句,然后执行啊啥的。就可以对数据库进行曾删改查了,但是通过注释看到打开数据库的时候如果数据库不存在会自动创建(这个可以理解),但是当对这个数据库进行操作的时候,比如增加一条数据,它会将数据保存在当前目录下(名字就是打开数据库指定的名字),也就是意味着它自动将数据写在了磁盘上,内存数据库不是在内存里面进行操作了吗?如果写在磁盘上,那不会很慢了吗?

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部sqlite一般是用在嵌入式环境里的,嵌入式环境没有很复杂的磁盘处理逻辑,一般直接写入主存

  所以在嵌入式环境下,sqlite得数据直接写入主存(即它的“硬盘”)不会慢更多追问追答追问嗯,我用的是PC机,所以他写到了硬盘上,对吧?但是为什么不常驻内存呢?我的意思是,它直接在内存里面进行操作,不写入磁盘,不如总觉得速度太低。追答PC上可以先将操作缓存到内存里哦。

  频繁进行增删改的话,建议使用事务处理(transaction),将操作先缓存到内存里,以减少数据库文件打开关闭次数,提升效率:

  rc = sqlite3_exec(db, COMMIT;, 0, 0,

  展开全部你觉得 像Mysql sqlServer oracle这些数据库,数据都保存在哪?常驻内存?

  这东西稍微想想就明白,凡是数据库必然是在硬盘上,内存才多点啊。要知道内存是断电就清空的,数据库存的东西不会是断电就消失吧

  追问嗯,大哥,你说的蛮有道理。但是sqlite说的是常驻内存,所以我还准备写一个模块去将它同步到另一台PC的Mysql上。只是我在那个测试程序里面发现他写入了磁盘,所以觉得有点不可思议。而且要是去测试这个数据库的话,那个速度应该是对内存的操作速度和磁盘的读写速度的总和了吧?

http://marsdomino.com/xiedaonacun/152.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有