[英]sqlite3/C transaction begin end — overflow?
在嵌入式系統(其中存在內存問題)中的C中,為了優化性能, 多個插入被組合為更大的事務 。
直觀地,SQLITE必須將未發送的事務保留在有限內存中某個地方的緩存中。
您所做的任何更改都會寫入數據庫文件。 為了支持回滾,已更改的數據庫頁面的舊內容將保存在日志文件中。 提交事務時,日志文件將被刪除; 當您回滾事務時,這些頁面將被寫回。
因此,只要您有足夠的磁盤空間,對事務中的數據大小就沒有限制。
(緩存可以幫助避免某些寫操作,但是它可以透明地工作並且不會影響代碼的語義。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.