亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sqlite和coreData的性能比較

發布時間:2020-08-07 01:24:49 來源:網絡 閱讀:761 作者:jackscm 欄目:開發技術
  1. 使用方便性。實際上,一個成熟的工程中一定是對數據持久化進行了封裝的,因此底層使用的到底是core data還是sqlite,不應該被業務邏輯開發者關心。因此,即使習慣寫SQL查詢的人,也應該避免在業務邏輯中直接編寫SQL語句。

  2. 存儲性能,在寫入性能上,因為都是使用的sqlite格式作為磁盤存儲格式,因此其性能是一樣的,如果你覺得用core data寫的慢,很可能是你用sqlite的時候寫的每條數據的內容沒有core data時多,或者是你批量寫入的時候每寫入一條就調用了一次save。

  3. 查詢性能,core data因為要兼容多種后端格式,因此查詢時,其可用的語句比直接使用sqlite少,因此有些fetch實際上不是在sqlite中執行的。但這樣未必會降低查詢效率。因為iPhone的flash memory速度還是很快的。我的經驗是大部分時候,在內存不是很緊張時,直接fetch一個entity的所有數據然后在內存中做filter往往比使用predicate在fetch時過濾更快。如果你覺的查詢慢,很可能是查詢方式有問題,可以把core data的debug模式打開,看一下到底執行了多少SQL語句,相信其中大部分是可以通過改寫core data的調用方式避免的。

  4. core data的一個比較大的痛點是多人合作開發的時候,管理coredata的模型需要很小心,尤其是合并的時候,他的data model是XML格式的,手動resolve比較煩心。

  5. core data還有其他sql所不具備的優點,比如對undo的支持,多個context實現sketchbook類似的功能。為ManagedObject優化的row cash等。

  6. 另外core data是支持多線程的,但需要thread confinement的方式實現,使用了多線程之后可以最大化的防止阻塞主線程。


1.如果你的項目規模比較大,用coreData 可以減少你對存儲管理的很多工作,否則你可能需要自己寫很多的數據模型倒數據庫操作的代碼。
2.你的數據結構變化,數據遷移的時候coreData能幫你自動的完成,用sqlite 你就需要自己寫代碼來完成。
3.coreData還有些其他效率方面的優化,比如延遲寫入。

對我自己而言,一般來說,如果沒有復雜的 查詢 需求,而數據量又比較小的話,我會用文件來做存儲,自我感覺比較干凈。如果涉及到比較多的數據,但是結構比較單一,表比較少,邏輯比較簡單用sqlite也不錯,但是如果你的表比較多,操作也比較多,還有升級遷移的需求,推薦使用coreData吧。


http://blog.jobbole.com/52880/

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

定远县| 温宿县| 梁河县| 普兰县| 宽城| 昌江| 日喀则市| 高州市| 德州市| 承德县| 祥云县| 长阳| 东阳市| 中卫市| 祁门县| 石林| 武乡县| 余江县| 南阳市| 安西县| 车致| 两当县| 武功县| 永宁县| 礼泉县| 攀枝花市| 宜州市| 耒阳市| 德格县| 恩施市| 济南市| 普洱| 玉山县| 宁城县| 墨脱县| 东兴市| 宿州市| 高雄市| 台山市| 白沙| 武夷山市|