A number of years ago I did a timing comparison between code like:
FIND NUMBER myview WITH DBFIELD > ’ ’
versus
HISTOGRAM myview DBFIELD
ADD *NUMBER TO #SUM
END-HISTOGRAM
The HISTOGRAM won. If I recall correctly, this was because the FIND NUMBER created an ISN list, even if RETAIN AS was not included in the statement. This was especially true when the HISTOGRAM was multifetched.
I believe that Wolfgang suggested FIND NUMBER to avoid the NAT1009, not for the sake of performance. FIND NUMBER won’t work if all the file’s descriptors are null suppressed.
I would have used a multi-fetched READ PHYSICAL with no fields in the view, but it wouldn’t work if MADIO is set very low. For Mister Ramon to read his 400,000 record file with Natural for Windows, MADIO would need to be set at 50,000 or better. On the mainframe you could multi-fetch 1000, so MADIO could be as low as 400.