Chuck,

I agree with Stuart - using a work file would speed things up.
Here's a quick code outline to help (I use UniData, and haven't
tried to run this, so YMMV):

OPEN "MYFILE" TO F.MYFILE ELSE STOP
OPEN "WORKFILE" TO F.WORK ELSE STOP
EXECUTE "CLEARFILE DATA WORKFILE"
READ REC FROM F.MYFILE,"MYREC" ELSE STOP
TMP = ""
SELECT REC TO TMP
WORK.ID = 0
LOOP WHILE READNEXT RECITEM FROM TMP DO
   WORKREC = RAISE(RECITEM)
   WORK.ID += 1
   WRITE WORKREC ON F.WORK,WORK.ID
REPEAT
EXECUTE "SSELECT WORKFILE BY F5 BY @ID"
NEWREC = ""
LOOP WHILE READNEXT WORK.ID DO
   READ WORKREC FROM F.WORK,WORK.ID THEN
      TMP = LOWER(WORKREC)
      IF NEWREC = "" THEN NEWREC = TMP<1> ELSE NEWREC := @AM:TMP<1>
   END
REPEAT
WRITE NEWREC ON F.MYFILE,"SORTED.MYREC"

--Tom Pellitieri

> Date: Tue, 27 Jul 2004 15:05:59 +1000
> From: "Stuart Boydell" <[EMAIL PROTECTED]>
>
> I did some speed tests awhile ago and dumping the data to a work
> file and sorting it there worked a treat even though nix shell
> was marginally faster.
> Maintenance was trumps though.
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Behalf Of Chuck Mongiovi
> Sent: Monday, 26 July 2004 23:04
>
> For example ("]" is an @VM)
>
> REC<1> = A]B]C]D]15
> REC<2> = A]B]C]D]25
> REC<3> = A]B]C]D]100
> REC<4> = A]B]C]D]11
>
> I want to sort by multi-value #5 .. The sorting isn't the issue..
> It's when DCOUNT(REC,@AM) gets large that the whole process gets
> extremely slow .. I can't do something like MATPARSE, because I
> can't predict *HOW* big REC will get ..
-------
u2-users mailing list
[EMAIL PROTECTED]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to