Spanish SQLITE ¿Existe un tamaño máximo para BD en una app?

javierfs

Member
Licensed User
Longtime User
Hola,

Estoy haciendo una app que lleva una base de datos (SQlite) de 3 Mb. Cuando subo la app al móvil copia la BD, pero con tamaño cero. Tengo espacio suficiente en la memoria y también en la SDcard.

Si subo una versión mas pequeña de la base de datos (56 Kb) sí la crea perfectamente ¿Hay algún límite de tamaño?

Agradecería que me echéis una mano. Gracias anticipadas

Javier
 
Last edited:

Heppy

Active Member
Licensed User
Longtime User
Si existen, pero.... No te tiene que preocupar:

Los Límites de SQLite.
Para una aplicación de un dispositivo móvil, no deben preocuparnos. Pero algunos de los límites son:
  • Longitud máxima de una cadena o un BLOB, por defecto es 1 billón de bytes.
  • El número máximo de columnas por defecto es 2000 (configurable a 32767) aunque un buen diseño por muy complejo que sea se estima que no debe superar las 100.
  • Tamaño máximo de la base de datos son 140 Terabytes. Aunque no se han realizado pruebas con valores superiores por que los desarrolladores no tienen acceso a un hardware de esas características. Sin embargo, se comporta correctamente cuando alcanza el tamaño máximo del sistema de archivos del sistema operativo que contiene la base de datos. En Android el sistema de ficheros mas común es YAFFS que no se acerca ni de lejos.
  • El número máximo de filas en una tabla es 264 que es teóricamente inalcanzable ya que llegaríamos antes a límite del tamaño de la base de datos.
  • El numero máximo de tablas está sobre los 2 billones.
 

javierfs

Member
Licensed User
Longtime User
Si existen, pero.... No te tiene que preocupar:

Los Límites de SQLite.
Para una aplicación de un dispositivo móvil, no deben preocuparnos. Pero algunos de los límites son:
  • Longitud máxima de una cadena o un BLOB, por defecto es 1 billón de bytes.
  • El número máximo de columnas por defecto es 2000 (configurable a 32767) aunque un buen diseño por muy complejo que sea se estima que no debe superar las 100.
  • Tamaño máximo de la base de datos son 140 Terabytes. Aunque no se han realizado pruebas con valores superiores por que los desarrolladores no tienen acceso a un hardware de esas características. Sin embargo, se comporta correctamente cuando alcanza el tamaño máximo del sistema de archivos del sistema operativo que contiene la base de datos. En Android el sistema de ficheros mas común es YAFFS que no se acerca ni de lejos.
  • El número máximo de filas en una tabla es 264 que es teóricamente inalcanzable ya que llegaríamos antes a límite del tamaño de la base de datos.
  • El numero máximo de tablas está sobre los 2 billones.
Gracias Ángel por tu respuesta.

El caso es que sigo sin poder subir la base de datos, es decir, creo la app y a través del b4a Bridge la subo al móvil. Pues bien, la BD que se crea es de tamaño 0, y si pruebo con otra con menos tablas (56Kb) sí la sube bien. No tengo problema de espacio en la memoria ni en en laSDcard.

Saludos
 

Caronte

Member
Licensed User
Longtime User
Puede ser un bug o puede ser que no hayas dejado que termine de subirse (de ahí que el archivo tenga un tamaño cero), ten en cuenta que si es muy grande tardará más y si usas el bridge por bluetooth ya ni te cuento ;)
 

javierfs

Member
Licensed User
Longtime User
Puede ser un bug o puede ser que no hayas dejado que termine de subirse (de ahí que el archivo tenga un tamaño cero), ten en cuenta que si es muy grande tardará más y si usas el bridge por bluetooth ya ni te cuento ;)
Debe ser un bug, ya que espero hasta que me avisa de si quiero instalar la app en el móvil.
La paso por wireless.
¡Es rarísimo!

Gracias
 
Top