iPhone SDK: cargando UITableView desde SQLite

Creo que tengo un buen control sobre UITableViews y sobre cómo obtener / insertar datos de / a SQLite db. Estoy luchando con una cuestión arquitectónica.

Mi aplicación guarda 3 valores en la base de datos, puede haber muchas / muchas filas. Sin embargo, ¿los cargaría en la mesa?

De todos los tutoriales que he visto, en un punto se carga la base de datos completa en el objeto NSMutableArray u otro similar a través de la ejecución de la instrucción SELECT.

Entonces cuando

- (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath

se llama, las filas requeridas se eliminan del NSMutableArray cargado anteriormente (o estructura similar).

Pero lo que tengo tienen miles por filas? ¿Por qué los cargaría previamente?

¿Debo consultar la base de datos cada vez que se llama a cellForRowAtIndexPath? Si es así, ¿qué usaría como índice?

Cada fila de la tabla tendrá un índice de AUTOINCREMENTO, pero como algunas filas pueden eliminarse, el índice no se corresponderá con las filas de la tabla (en el SQL I puede tener algo como esto con la fila con el índice 3 faltante):

1 Datos1 Datos1 Datos2 Datos2 Datos2 4. Datos3 Datos3

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta