Показать сообщение отдельно
Старый 23.05.2011, 13:06   #31  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от lev Посмотреть сообщение
Я обычно пользуюсь методом SysQuery::countLoop();
Метод SysQuery::countLoops() в отличии от SysQuery::countTotal действительно возвращает именно количество итераций, а не количество строк. Но какой ценой достигается такой результат. Для подсчёта числа шагов выполняется лишний прогон цикла. Просто помните об этом.
Как правило countLoops используют для того чтобы узнать количество групп в запросе с группировкой. Обычно эта информация нужна для визуализации прогрессбара. Я в таких случаях пренебрегаю плавностью движения заветной полоски. В качестве "длины" прогрессбара использую countTotal и соответственно инкремент делаю на величину count(RecId) по группе.