On Apr 15, 2020, at 4:35 PM, John J Foster via 4D_Tech <4d_tech@lists.4d.com> wrote: > > I do believe that creating it locally and moving to the network drive can be > more efficient. I’m not sure how much speed different there would be. > >> using TEXT TO BLOB with the offset parameter > > I’m investigating this command and seeing if I can understand how to use it.
If your machine is on an SSD, there will probably be little difference between writing each row with SEND PACKET or buffering using a BLOB. If you want to buffer using a blob, the general strategy is like this: // Calculate rough target size of blob plus a little extra. If 2.3M rows was 830MB, you are at roughly 2700 rows per MB, so maybe calculate 1MB per 2500 rows $blobSize:=(number of records / 2500)*(1024*1024) SET BLOB SIZE($buffer;$blobSize) $offset:=0 For ($i;1;number of records) // build line into $line // make sure we have enough space in the blob If (Blob size($buffer)<($offset+Length($line)) $blobSize:=$blobSize+(Length($line)*2000)// increase by enough that we don’t have to do it often SET BLOB SIZE($buffer;$blobSize) End if TEXT TO BLOB($line;$buffer;UTF8 text without length;$offset) End for // Truncate blob to correct length SET BLOB SIZE($buffer;$offset) // blobs are zero-indexed Jim Crate ********************************************************************** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:4d_tech-unsubscr...@lists.4d.com **********************************************************************