Для больших запросов вы можете добавить к ним пагинацию и получать партии, которые можно объединять «вне сайта». Что-то вроде:
--[params]
-- integer :limit = 10000
-- integer :page = 0
SELECT
id,
title
FROM topics
WHERE visible = false
ORDER BY id
OFFSET :page * :limit
LIMIT :limit