2010-11-25 22 views
6

En mi aplicación de iPhone, tengo una gran cantidad de datos, es decir, alrededor de 1000 páginas de texto.¿Es mejor almacenar datos en una base de datos plist o Sqlite?

¿Dónde debo hacer para almacenarlos?

¿Debo usar plist o la tabla de base de datos Sqlite?

¿Cuál de las siguientes opciones sería más eficiente?

Por favor ayuda y sugerir.

Gracias de antemano.

+1

http://stackoverflow.com/questions/1090391/plist-or-sqlite – Rhapsody

Respuesta

8

Para una gran cantidad de datos, sqlite o coreData son mejores porque todos los datos no se cargan en la memoria para acceder a uno.
Con pList, todo el archivo se lee en la memoria. Después, puede retener solo los datos que desee, pero no está optimizado.

+0

Gracias que hace que sea muy fácil decidir cuál usar. Nunca me lo han explicado tan claro como, ¿quieres que todos los datos cargados en la memoria de una vez o no? – RachelC

1

Debe usar un plist para almacenar las configuraciones.

Por lo que estás haciendo, utilizaría sqlite3 o almacenamiento de datos básicos.

1

pList es realmente solo un archivo xml, por lo que las ventajas (ambas son fáciles de leer para el humano y la computadora) y las desventajas de xml (eficiencia de almacenamiento/recuperación) se aplican.

Mientras SQLite le da el beneficio de SQL obviamente. Para datos grandes, SQLite sería la mejor opción

1

Lo importante es la forma en que los accederá. Si es algo a lo que accede de forma aleatoria o en pequeñas porciones, usaría una base de datos como sqlite. Si se trata de algo que está utilizando todo de forma irregular, un plist está bien. Como mencionó @ Benoît, los plists se cargan en la memoria por completo. Para algo así como un libro, también podría considerar almacenar páginas en archivos separados, usando el sistema de archivos para administrar el acceso (dependiendo de cómo se pretenda usarlo, por supuesto).

5

depende de cómo y por qué desea almacenar los datos:

Uso de SQLite si:

necesita
  1. de datos para acceder sólo parcialmente
  2. actualizaciones repetidas
  3. Los datos en sí son grandes en términos de bytes

Use plist otherwise !!

En su caso, lo recomendaría, usando SQLite 3 o coredata.

0

listas de propiedades

A plist es simplemente una lista de pares de valores clave anidados que pueden contener tipos de datos comunes como cadenas, números, matrices y diccionarios.

Pros

  • fácil de entender.
  • Es fácil trabajar con él.

Contras

No se puede ejecutar consultas complejas sobre ellos (al menos no fácilmente). Debe leer todo el archivo en la memoria para obtener datos y guardar todo el archivo para modificar cualquier cosa que contenga.

SQLite

Hasta CoreData llegó, esta fue la forma popular para leer y escribir datos en las aplicaciones del iPhone. Si eres un desarrollador web, esto no es nada nuevo.

Pros

  • A diferencia plists, usted no tiene que cargar toda la base de datos en la delantera. Esto hace que SQLite sea más adecuado para aplicaciones con muchos datos.
  • Mejor que listas para cortar y cortar datos.

Contras

Steeper curva de aprendizaje que plists. Puede ser tedioso trabajar con.

de Datos Básicos

Su nuevo, su excitante, y su probablemente lo que la mayoría de los desarrolladores podrán utilizar de aquí en adelante.

No he pasado suficiente tiempo con CoreData para resumirlo; echa un vistazo a los tutoriales (a continuación) para obtener más información al respecto.

Pros

  • Casi todos los beneficios de SQLite con mucho menos problemas (Apple hace una gran parte del trabajo sucio por ti).

  • Como el método preferido de Apple tiene mucha más documentación oficial y código de muestra (parece que los artículos y el código de muestra para los otros dos métodos han desaparecido misteriosamente del sitio web de Apple).

Contras

  • Steeper curva de aprendizaje que plists.
  • Asesino: solo funciona en iPhone OS> 3.0. Su asesino es si su mercado consiste en gran parte de usuarios de iPod Touch (que tienen que pagar por las actualizaciones).
Cuestiones relacionadas