2012-02-20 51 views
2

我沿着使用沒有核心數據的SQLite的路線。Obj-c,什麼是無核心數據執行許多SQLite插入/更新查詢的最快方法?

我需要加快查詢數據庫後執行一些數據庫事務的功能。我爲所有需要的值創建了一個字典。

我需要這樣做以避免數據庫鎖定。

此刻,我將我的添加記錄調用到數據庫函數,每次打開和關閉數據庫。

顯然這是過程緩慢的地方。

我在想,應用程序嵌入數據庫設置腳本是很常見的,因此它必須能夠運行一批查詢。

所以我想如果我可以建立一個字符串與我所有的查詢,我可以執行它。

但我不是100%這是最好的方法或如何執行批量查詢。

任何人都可以告訴我如何繼續?

+0

要麼根本不使用數據庫,要麼嘗試不同的方法(比如在存儲器中存儲數據(壓縮的,有活動的),並在應用程序關閉時寫入磁盤)或通過減少調用/細胞(重要的一步:總是重新考慮你的基礎設施,並確保只有那些絕對必要的將被保存)。優化SQLite API背後的速度將是一個艱鉅的挑戰。 – Paul 2012-02-20 20:45:12

回答

0

我正要做同樣的事情 - 使用普通的SQLite而不是CoreData--但後來改變了我的想法。在這個過程中,如果發現這個鏈接有用:Improve INSERT-per-second performance of SQLite?。除了明顯的(事務,準備好的聲明,..)它使用了一些SQLite特定的性能調整。

相關問題