Платформа Windows, однако, я пользуюсь и для Android, разница только в мелочах.
По поводу выгрузки одного поля, так сначала и было, это я уже после мучений из контекста выдрал, всяко пробовал, но полностью согласен лучше выгрузить 1 столбец, а не все 28. Сразу скажу, даже если выгружаю 1 столбец картина не меняется. И еще, в настройках у меня стоит FetchOption.Ubidirectional := True, а это значит, что ранее загруженные данные удаляются, а на их место записываются новые, но вот почему-то это и не происходит.
Что касается поиска конкретной записи в БД - хорошая идея, попробую. Только вот если подряд 2000 запросов будет ...., ну все равно попробую.
По Limit - это же ограничение, а значит не весь массив выгрузиться и значит необходимо запускать новые циклы. Не знаю, но по мне кажется лишним.
По сравнению: в определенной папке лежат файлы, данные по файлам находятся в БД, в ней соответственно описание этих файлов (удобно для поиска и ...). Так вот, в отдельном потоке через определенное время данная папка проверяется на наличие новых файлов и сверятся с БД, чтобы таких файлов не было, при необходимости добавляет в БД, так вот пока записей было не много, все работало, теперь беда.....
И беда в чем:
1. Почему то не работает цикл While, т.е. исходя из настроек следующая партия данные должна по требованию быть загружена автоматически. И как я уже определился, использования цикла for .. do в данном случае не подходит.
2. Даже когда ставлю FQuery.FetchAll, т.е. выгрузить все данные, все равно выгружается только по значению RowsetSize. Ранее RowsetSize у меня был 2000, но тормозило и код стал не исполняться.