Есть табличка, которая содержит в себе 5млн. записей.
БД: MSSQL 2005
Cтавим на форму cxgrid1, создаем cxgrid1DBTableView, привязываем к нему DataSource.
К DataSource привязываем Query.
Делаем чтобы отображалось в cxGrid по 100 записей, cледующим образом:
cxGrid1DBTableView1.DataController.DataModeController.GridMode := True;
cxGrid1DBTableView1.DataController.DataModeController.GridModeBufferCount := 100;
MSQuery1.FetchAll := False;
MSQuery1.FetchRows := 100;
Приложение запускаем, отображается 100 записей, как только делаешь
MSQuery1.Close;
то понимаем,что Query пытается зафетчить все записи, которые только есть в ДатаСете и только после этого закрывается. (На это у него уходит порядка
1 минуты).
Делал Free у Query, тоже самое, впадает в минутный ступор.
Как сделать так, чтобы при частичном просмотре, Close у процедуры отрабатывал моментально, а недогружал все данные, которые не отобразил?