2012-04-26 28 views

Respuesta

8

Creo que es más probable que alcance los límites de rendimiento en un dispositivo iOS antes de alcanzar los límites de almacenamiento en Core Data. También obtendrá un golpe de rendimiento al extraer grandes cantidades de datos.

Es mejor, tanto en rendimiento como en capacidad de administración, dividir grandes bloques de texto en trozos más pequeños.

Por lo que recuerdo, Marcus Zarra me ha dicho de todos modos.

+0

+1 por su sugerencia –

3

No tiene un límite por lo que puedo decir, a menos que asigne uno en el archivo de modelo (hay una sección para longitud mínima y longitud máxima).

+0

Gracias eso es lo que pensaba, pero estaba obtener algunos informes de fallas de los usuarios que me hicieron querer chequear y no pude encontrar ninguna documentación al respecto. Conozco los parámetros mínimo/máximo para los atributos en un modelo de objetos. – adriaan

1

No recuerdo haber leído ningún límite en la documentación de Core Data, pero recuerde que Core Data es solo un marco sobre una base de datos real, generalmente sqlite. Creo que es seguro asumir que los límites están dictados por el DB subyacente.

+0

Eso tiene sentido. ¡Gracias! – adriaan

4

Solo para confirmar que no hay límites específicos en CoreData (sin contar las limitaciones de memoria/espacio de disco). Al usar CoreData en iOS, usted está en casi todos los casos usando sqlite como almacenamiento persistente. CoreData almacena Cadena como Varchar y desde el punto de vista de sqlite:

SQLite no impone la longitud de un VARCHAR. Puede declarar un VARCHAR (10) y SQLite estará encantado de almacenar allí una cadena de 500 millones de caracteres. Y mantendrá intactos todos los 500 millones de caracteres. Su contenido nunca se trunca. SQLite entiende el tipo de columna de "VARCHAR (N)" a ser el mismo que "TEXTO", independientemente del valor de N.

... tomado de sqlite's FAQ