Самый быстрый способ получить количество строк - напрямую из метаданных таблицы, если таковые имеются.К сожалению, я не могу найти ссылку на этот тип данных, доступный в SQLite.
В противном случае любой запрос типа
SELECT COUNT (не постоянное значение NULL) из таблицы FROM
следует оптимизировать, чтобы избежать необходимости сканирования таблицы или даже индекса.В идеале механизм будет просто возвращать текущее количество строк, которые, как известно, находятся в таблице, из внутренних метаданных.В противном случае ему просто нужно знать количество записей в индексе любого столбца, отличного от NULL (индекс первичного ключа - это первое место для поиска).
Как только вы введете столбец в SELECTСЧИТАЙТЕ, что вы просите движок выполнить хотя бы сканирование индекса и, возможно, сканирование таблицы, и это будет медленнее.