Я не программист Delphi, но у меня есть старое приложение Delphi 7, которое мне нужно исправить, и оно использует ADO.
Таблица базы данных (MS Accesss) содержит +100 000 строк, и когда я устанавливаю ADOTable.Active=true, она начинает загружать всю таблицу в ОЗУ, что занимает много памяти и времени.
Как я могу запретить ADO загружать всю таблицу? Я пытался установить MaxRecords, но это не помогает.
В основном все, что мы делаем, это при запуске программы:
// Connect to database
DataModule.MyADOConnection.Connected:=true;
DataModule.MeasurementsADOTable.MaxRecords:=1;
// Open datatables
DataModule.MeasurementsADOTable.Active:=true;
После установки Active=true он начинает загружать все измерения в оперативную память и это занимает ВРЕМЯ!
Мы используем провайдера MSDASQL.1. Возможно, он не поддерживает свойство MaxRecords?
Как мне добавить некоторый ограничивающий запрос в этот объект данных только для «загрузки TOP 1 * из измерений»?