>I'll have to try that. Most of my lookups are in tables small enough that the difference should be invisible, or else in tables LARGE enough that an array is impossible because of the 65,000 element limit.
>
>However Ascan() has to look at all elements - my gut reaction would have been that it was slower than a Seek.
Coming to think of it, a seek() on a small table requires a lookup at an index block (which is somewhere in the memory) than a corresponding look into the table (which is also small and in the memory), and I figure this would still introduce more overhead than ascan() for really small tables, with a dozen records or so.
It would take some benchmarking to decide when is it better to go for arrays, namely at how many records, but since the mileage may very significantly (depending on the number of fields, type of index, size of the index expression etc etc and not only on the number of records), it's probably going to remain like it is now - "if too much lookup is slow, try with arrays".