2016-09-20 184 views
1

sqlite可以通過使用:memory:方式將數據庫文件完全存儲在內存中,也可以將數據庫存儲在磁盤上。 正如我測試,插入和選擇速度幾乎相同的內存方式和磁盤的方式。但我認爲,在記憶的方式應該更快,爲常識。 任何人都可以給這個解釋嗎?對於sqlite,內存中的數據庫比存儲在磁盤上的數據庫更快?

+1

我不是SQLite或Android的專家,但是如果數據庫使用緩存,那麼「在磁盤上」的方式可能與內存方式非常類似,至少對於您正在運行的查詢而言。 –

回答

-1

內存數據庫通常在內存中有整個數據庫。 (如MySQL數據庫引擎MEMORY)這是一個巨大的性能提升,但RAM很昂貴並且通常不會持久,所以在重新啓動時會丟失數據。有一些方法可以減少最後一個問題,例如通過定時快照或磁盤數據庫上的複製。還有一些混合類型,只是內存中的一部分數據庫。