在我的iPhone應用程序中,我有大量的數據,即大約1000頁的文本。將數據存儲在plist或Sqlite數據庫中會更好嗎?
我應該怎麼做來保存它們?
我應該使用plist還是Sqlite數據庫表?
其中哪個會證明效率更高?
請幫助和建議。
在此先感謝。
在我的iPhone應用程序中,我有大量的數據,即大約1000頁的文本。將數據存儲在plist或Sqlite數據庫中會更好嗎?
我應該怎麼做來保存它們?
我應該使用plist還是Sqlite數據庫表?
其中哪個會證明效率更高?
請幫助和建議。
在此先感謝。
對於大量的數據,sqlite或coreData更好,因爲所有數據都不會在內存中加載到一個數據庫中。
使用pList,整個文件在內存中讀取。之後,你可以只保留你想要的數據,但沒有優化。
謝謝,這使得它很容易決定使用。我從來沒有把它解釋得很清楚,你是否希望將所有數據一次加載到內存中。 – RachelC 2012-03-19 17:44:41
您應該使用plist來存儲配置設置。
對於你在做什麼,我會使用sqlite3或核心數據存儲。
pList實際上只是一個xml文件,所以優點(如人和計算機易於讀取)和xml(存儲/檢索效率)的缺點都適用。
儘管SQLite顯然爲您提供了SQL的好處。對於大數據SQLite將是更好的選擇
重要的是你將訪問它們的方式。如果它是隨機訪問或小部分訪問的東西,則可以使用像sqlite這樣的數據庫。如果這是你一次使用所有的醜陋的東西,一個plist是好的。正如@Benoît所說,plists完全被加載到內存中。對於像書本這樣的東西,您可能還會考慮將頁面存儲在單獨的文件中,從而使用文件系統來管理訪問(當然取決於您打算如何使用它)。
取決於如何和你要存儲的數據是什麼:
使用SQLite如果:
- 數據需要被訪問的只有部分
- 反覆更新
- 數據本身在字節方面很大
否則使用plist!
在你的情況,我會推薦使用SQLite 3或coredata。
屬性列表
甲plist中僅僅是其可含有常見的數據類型,例如字符串,數字,數組和字典嵌套鍵 - 值對的列表。
優點
缺點
不能在它們上面運行復雜的查詢(至少不容易)。 您必須將整個文件讀入內存才能從中獲取任何數據,並保存整個文件以修改其中的任何內容。
SQLite的
直到CoreData來了,這是爲了讀取和寫入iPhone應用程序數據的流行方式。如果你是一個Web開發人員,這不是什麼新鮮事。
優點
缺點比的Plist
陡峭的學習曲線。 可能會很繁瑣的工作。
核心數據
其新的,令人興奮的,它可能是大多數開發商會從這裏使用上了。
我沒有花足夠的時間與CoreData來概括它;查看教程(下面)瞭解更多信息。
優點
幾乎所有的SQLite的一個不太很多的麻煩(蘋果確實 很多骯髒的工作,爲您)的利益。
作爲蘋果的首選方法,它有更多的官方文檔和示例代碼(看起來其他兩種方法的文章和示例代碼已經從Apple的網站神祕地消失)。
缺點比的Plist
http://stackoverflow.com/questions/1090391/plist-or-sqlite – Rhapsody 2010-11-25 11:39:26