When List of came out I was overjoyed, finally a native way to get the fields contents of a foundset natively and supposedly fast.
Of course, like the whole community I regretted it wasn't a new function instead of forcing us to create yet another field just to use this feature wished for years, but ok…
Unfortunately, though faster than CF, I stumbled upon bizarre, ugly and scaring (for users) "Summarizing" dialog boxes.
And sometimes it felt sluggish.
Well, reading that excellent blog post Recreating a FileMaker Found Set | Soliant Consulting I learnt that List of actually downloads all records data. Hence this slowness with big foundset.
This rang a bell in my mind when I was writing a script that needed to get some field contents for the whole foundset in the faster possible way.
So I create the following benchmarking file
(login : Admin, no password, needs BaseElement free plug-in, writes to desktop folder SQL.txt ,ListOf.txt, Export.txt files, so pay attention if you've those files in desktop folder they will be overwritten. Use the Time script in the script menu)
So for 1,4 M records I got
- Export : 8 sec
- Execute SQL : 12 sec
- List Of : 42 sec
- Loop : hours
Wow, List Of is 5.25 x slower than Export. I really can't see any reason why ListOf can't be as fast as Export, that moreover writes to the disk !
So we still need a Native and Superfast (at least as fast as export) way to get a particular field list off content (and this time with a new function please).