Показать сообщение отдельно
Старый 13.04.2011, 13:00   #10  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Для начала можно избавиться от второго вызова getFirst. Так должен висеть в два раза быстрее
X++:
c = _fds.getFirst(1, 1);
if (c == NULL)
    c = _fds.cursor();

while (c)
{
    
    // ...

    c = _fds.getNext();
}
Но это так, оптимизация, проблему это не решит. Возможно причиной подвисания является отсутствие индекса на таблице. У вас источник данных отфильтрован или отсортирован по каким-либо полям? Создайте соответствующий индекс на таблице.