каждый LIMIT/OFFSET это же новый запрос, это медленнее чем курсором
каков ожидаемый объем таблиц ?
Медленнее, но из-за особенностей sqlite с курсором вообще работать не будет, так что без вариантов: если хочешь писать/читать, никому не мешая, из разных потоков, то нельзя держать активные запросы.
Большинство таблиц небольшие, но возможна ситуация, когда лучше все сразу не загружать.
Наверное вопрос можно закрыть, если только кто-то не решиться провести более глубокое расследование по поводу WAL и блокировок.