La manera más rápida de obtener recuentos de filas es directamente desde los metadatos de la tabla, si corresponde. Lamentablemente, no puedo encontrar una referencia para que este tipo de datos esté disponible en SQLite.
defecto, cualquier consulta del tipo
SELECT COUNT (valor constante no NULL) de la tabla
debe optimizar para evitar la necesidad de una mesa, o incluso un índice, scan. Idealmente, el motor simplemente devolverá el número actual de filas que se sabe están en la tabla de los metadatos internos. En su defecto, simplemente necesita saber el número de entradas en el índice de cualquier columna que no sea NULL (el primer índice que se busca es el índice de clave principal).
Tan pronto como introduzca una columna en SELECT COUNT le está pidiendo al motor que realice al menos un escaneo de índice y posiblemente un escaneo de tabla, y que será más lento.
Para contar (*) contra contar (algo más), echar un vistazo (aquí) [http://stackoverflow.com/questions/4437399/is-using-count-or-select-a-good-idea/ 4439459 # 4439459] – Ronnis