Difference between Core Data and SQLite

Apart from being ORM (Object Relational Model) You can compare Core-Data and SQLite as;

SQLite:

  • Have Data Constrains feature.
  • Operates on data, stored on disk.
  • Can Drop table and Edit data without loading them in memory.
  • Slow as compared to core data.

Core Data:

  • Don't have Data Constraints,if required need to implement by business logic.
  • Operates on in memory.(data needs to be loaded from disk to memory)
  • Need to load entire data if we need to drop table or update.
  • Fast in terms of record creation.(saving them may be time consuming)

Additionally apart from SQLite as back-end Core data can use XML or binary format for storing data to disk.


There is a huge difference between these two.

SQLite is a database itself like we have MS SQL Server.

But Core Data is an ORM (Object Relational Model) which creates a layer between the database and the UI. It speeds-up the process of interaction as we don't have to write queries, just work with the ORM and let ORM handles the backend.

For saving or retrieving large data, I recommend to use Core Data because of its abilities to handle the lower processing speed of iOS devices. Hope this helps.

@Arundhati: Using Core Data we can optimize the memory efficiently.

Regards.