Получение данных больших наборов данных в FireDAC кажется медленнее, чем должно быть.
Запрос SQL Server, который возвращает 15 000 строк, выполняется в течение 2 секунд в SQL Server Management Studio, но FDQuery (такжеподключен через собственный клиент SQL Server) требуется 12 секунд для его загрузки.Я пробовал разные настройки для FetchOptions (однонаправленный курсор, извлекать все записи и т. Д.), Но я не смог сократить эти 12 секунд.
Единственная цель для этого набора данных - сохранить его какпоток (он выполняется на сервере Datasnap, который возвращает данные обратно клиенту в виде потоков, загружаемых в FDMemTables).
FDQuery1.Open;
FDQuery1.SaveToStream(AStream, sfBinary);
FDQuery1.Close;
Известна ли вам более быстрая конфигурация для извлечения данных из SQL Server, которую вы намерены сохранять только в виде потоков (для последующей загрузки в FDMemTables на стороне клиента)?Не кажется логичным, что даже однонаправленный курсор занимает в 6 раз больше, чем прямой оператор SQL.
Спасибо.