>
> When speaking with Microsoft, they suggested avoiding SCATTER MEMVAR, but
> didn't really have a reason why. I use it all the time with INSERT INTO
> mydbf.dbf FROM MEMVAR. I have run into an issue where a table may not be
> updating with the proper information. I was wondering if using the SCATTER
> MEMVAR command might be causing some oddities. Does anyone know of or
> experienced any peculiararities using SCATTER MEMVAR with INSERT INTO
> mydbf.dbf FROM MEMVAR or with APPEND BLANK ; GATHER MEMVAR???? Any
> feedback is greatly appreciated. Thank you.
> Marcus.
The only reason may be that Gather From [array] is a bit faster than Gather
Memvar, since all the values needed are located under one name, whereas
in the later case it has to hunt them name by name; Scatter Memvar has
probably to do some variable scope checking (if some of m.vars are
already existing as Private or Public or Local), so it may slow it down
a bit in comparison with Scattering to an array.
Append Blank and then Replace or Gather is twice as slow (tested),
because it writes twice, and, besides, makes a bit of a mess in your
index files. The blank value is written into both table and tags, then
replaced with new values. For the table it's more or less the same, it's
still in the buffer, but for the index tags it usually means reloading
and/or rewriting of few blocks, because the blank key values and
non-blank key values surely don't fit into the same position, so the
pointers have to me moved around, inserted into some other place of the
binary tree etc. Insert from memvar or Insert from Array does it
directly, and only once.