2009-04-26 11 views
8

Estoy escribiendo una aplicación para iPhone que usa SQLite. Estoy acostumbrado a abrir y cerrar mis conexiones cada vez que uso una base de datos. Sin embargo, no sé si es una buena práctica en el entorno de iPhone/SQLite. Quiero saber si debo abrir la base de datos 1 vez o si está bien abrir y cerrar la base de datos cada vez que la utilizo. Por favor hagamelo saber.iphone - abre y cierra la base de datos sqlite cada vez que la uso

Respuesta

6

Creo que debe mantenerlo abierto el mayor tiempo posible, de modo que los datos se almacenan en caché en DRAM. Por supuesto, también debe organizar sus transacciones para que pueda comprometerse en puntos lógicos a tiempo y mantener la integridad transaccional.

1

Haría lo que sugiriera Matthew: mantenga una conexión abierta durante todo el tiempo que se ejecute su programa.

1

Ambas respuestas parecen correctas, pero en realidad depende de la frecuencia con que la use y de su tamaño. En caso de que DB sea grande, debe establecer un caché de página más grande, pero eso lleva a un mayor consumo de memoria y si el acceso es raro: no hay razón para sostenerlo todo el tiempo (pero si el uso es pequeño). El caché de página grande tampoco le ayudará)

En caso de que sea pequeño, no hay razón para abrirlo/cerrarlo cada vez, incluso con un uso poco frecuente. Pero, en promedio, el consumo de recursos es mayor con el abierto/cerrado regular. Así que en total - no vuelva a abrir db cada vez que lo esté usando.

Cuestiones relacionadas