91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

哈密市| 大石桥市| 尤溪县| 柳林县| 屯留县| 五寨县| 永和县| 永兴县| 宿迁市| 新竹市| 恩施市| 绿春县| 垦利县| 天峨县| 尼勒克县| 庐江县| 塔河县| 天门市| 水富县| 定州市| 桃园县| 资讯| 鹤壁市| 福安市| 永定县| 阿克| 广河县| 贞丰县| 双鸭山市| 饶河县| 南投市| 长沙县| 石嘴山市| 义马市| 紫云| 汕头市| 达尔| 宿州市| 阳江市| 泽库县| 镶黄旗|