>From my experience, SCAN is faster than DO WHILE. I don't remember a case when DO WHILE was faster, but, it's also true that I rarely did such tests. :)
I had a SCAN a 'while' < g > ago that was actually noticeably slower, so I changed it to WHILE. But it was a case where SCAN was being used poorly - in the loop, several other tables were selected, SQL was run, the rec pointer was moved and re-set so the SCAN would work, etc. Everything possible to ruin the SCAN's advantage was being done, basically, and it succeeded :)
The Anonymous Bureaucrat,
and frankly, quite content not to be
a member of either major US political party.