DBF speed on shared drives
Posted: Fri Oct 20, 2023 6:56 am
Hello all,
I would like to share some of our findings on speed using DBF files on shared drives because we checked the difference of speed between an array cache and the real dbf file
1) only one client on a shared drive (the file can be local, on a network drive, and can also be used more than once on the from the same client): accessing the real table using an index is faster than using an array cache
2) when the table is opened on a shared drive and another client has the file opened in read-write mode, the array access is much faster. This is true only when the speed is measured on a client, not on the server itself
3) when the table access is from the server itself, even when the session is remote desktop, or terminal server, the DBF access is faster than the array cache.
So, if you are needing speed accessing DBF files from multiple workstations, you should consider to use a terminal server. There are also low cost solutions like AADS or TSPlus that are working also with client versions of Windows (Pro versions only). We have much experience with AADS.
Wolfgang
P.S. please find attached a VO AEF of a sample program. Adapt it to your own test data. The CacheServer class is a class that we are using a lot ourselves. It shows also the speed difference between AScan() and AScanBin(). We are also working on a dictionary based X# version.
I would like to share some of our findings on speed using DBF files on shared drives because we checked the difference of speed between an array cache and the real dbf file
1) only one client on a shared drive (the file can be local, on a network drive, and can also be used more than once on the from the same client): accessing the real table using an index is faster than using an array cache
2) when the table is opened on a shared drive and another client has the file opened in read-write mode, the array access is much faster. This is true only when the speed is measured on a client, not on the server itself
3) when the table access is from the server itself, even when the session is remote desktop, or terminal server, the DBF access is faster than the array cache.
So, if you are needing speed accessing DBF files from multiple workstations, you should consider to use a terminal server. There are also low cost solutions like AADS or TSPlus that are working also with client versions of Windows (Pro versions only). We have much experience with AADS.
Wolfgang
P.S. please find attached a VO AEF of a sample program. Adapt it to your own test data. The CacheServer class is a class that we are using a lot ourselves. It shows also the speed difference between AScan() and AScanBin(). We are also working on a dictionary based X# version.