2009-09-29 25 views
2

我(仍)正在使用SQLite3的iPhone程序。我儘可能地優化了數據庫寫入。如何提高SQLite3 iPhone程序的性能

我現在的問題是「END TRANSACTION」正在殺死我,因爲它需要很長時間。日誌文件通常約爲50k,這可能是一個問題,但我想知道你的想法。

我試過使用「PRAGMA synchronous = 0」,但是這導致了一些數據損壞。我最近的優化嘗試是「PRAGMA journal_mode = TRUNCATE」,但我不知道這是否有幫助。

在這個階段的任何建議?

回答

4

您是否嘗試過在內存日誌記錄?

「PRAGMA journal_mode = MEMORY」

這是最顯著的性能提升對於我們中的一個。

如果這還不夠快,試試memsys5的東西。 http://www.sqlite.org/compile.html#enable_memsys5

+0

我已經添加了,看它是如何工作的。到目前爲止速度非常快。 謝謝。 – 2009-09-30 19:22:01

+0

你如何補充說,這是一個關閉還是你需要將它添加到每個陳述? – Openside 2011-11-22 21:41:39