sqlite資料庫插入了資料,怎么看不到資料?但能查到資料,為什么?難道資料在緩沖區里面?
我是把sqlite資料庫拖到SQLite Developer來查看資料的!!!
uj5u.com熱心網友回復:
sqlite3_db_cacheflush----這個函式不知道做什么用途的,難道要用這個函式及時把插到sqlite資料庫的資料刷到磁盤?uj5u.com熱心網友回復:
頻繁更新sqlite3資料庫導致資料庫被鎖定的問題!----https://bbs.csdn.net/topics/290071244
uj5u.com熱心網友回復:
sqlite3_db_cacheflush----https://blog.csdn.net/LostSpeed/article/details/83108214
前言
在demo中呼叫了sqlite3_db_cacheflush,使sqlite3資料庫未關閉時,將資料flush到磁盤上,這樣,我就能在線拷貝走資料庫檔案。
發現在開發環境下,這個api是好用的。
在實驗環境下,執行這個api引發崩潰。
對照sqlite環境:
開發環境裝了sqlite3和libsqlite3-dev
實驗環境因為不需要開發頭,只裝了sqlite3
最后在實驗環境下去掉了sqlite3_db_cacheflush呼叫,demo好使了。
sqlite3_db_cacheflush這種操作,會強制寫磁盤,降低了效率。其實也不該呼叫的。只需要用另外一個資料庫連接,打開這個資料庫,當前進度也是知道的,由sqlite3資料庫本身來保證資料是同步的。
sqlite3_exec是帶緩沖操作的,如果是insert陳述句,超過了緩沖區大小,才會向磁盤寫。就像fwrite那樣。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/214308.html
標籤:其他數據庫
上一篇:分析整裝臺式機是否物有所值
下一篇:unity中瞄準倍鏡效果和原始碼
