2009-08-19 78 views
0

我正在關注'SQLiteBooks'示例以瞭解如何與iPhone一起使用sqlite3,並且想知道在執行操作後應該立即關閉與數據庫的連接查詢並在每次需要與數據庫交談時重新打開,或者應該在應用程序啓動時保持連接打開並關閉「appWillTerminate」?在應用程序中多次重新打開數據庫連接的相關成本是多少?sqlite3連接並在應用程序的生命週期中堅持它

此外,該示例顯示引用sqlite3對象(又名'數據庫')傳遞但沒有任何引用計數 - 這是一個很好的模式要遵循?

+0

除非您的目標是OS 2.x,否則幾乎沒有理由不使用Core Data。它將高效地處理連接管理,並對其進行高度優化以節省內存和電源。 – bbum 2009-08-19 19:54:26

回答

0

答案主要取決於您正在構建的應用程序的類型。如果您偶爾要訪問數據庫,那麼根據需要打開/關閉就可以了,但如果應用程序經常使用數據庫,比如說您的應用程序內容完全由數據庫驅動,那麼您應該真的應該當應用程序啓動時打開數據庫連接,並在終止時關閉它。

在我的最後一個應用程序中,我開始時通過將DB連接作爲指針傳遞給必要的對象,並稍後更改我的架構,以便最初打開數據庫的類(AppDelegate的組合)也是處理所有查詢的類以及來自DB的響應。很好地工作,很容易維護,對我來說,這等於贏。

相關問題