During the design phase of your application, there are a number of fundamental decisions that you should consider concerning file handling, as these can have a big effect on performance.
You should give some consideration to the following:
- The location of the data files
- If possible, you should store your files locally, as this will give you the fastest access times.
- If the files are required to be on a network - for example, so multiple users can them - you should use Fileshare. Fileshare is also a potential solution if you store your files locally, as it provides extra functionality, such as transaction processing. For full details of Fileshare, see
Fileshare Guide.
- If you are using Fileshare, which protocol to use?
- Fileshare is capable of using more than one type of network protocol when accessing files. If you have clients that are using different types of protocol to access the same file, swapping between these protocols affects performance; if possible, use the same protocol for all clients.
- For Fileshare systems running locally (that is, server and client on the same machine), on Windows, the CCISMEM protocol is faster than CCITCP.
- The choice of file organization
- The choice of file organization has an influence on the performance, and so it is important that you choose the right organization for the tasks required to be carried out.
- Sequential files can only be read in the order in which they were written, so do not suit situations where large files are required to be read frequently; however, they are a good option for creating print output files.
- Relative files can be read sequentially, but random access also gives fast access to records using a key relative to the start of the file. A drawback is that deleted records still occupy disk space.
- Indexed files can also provide sequential and random access. The use of primary and alternate keys allow more direct access to records.
- For full details of each file organization, refer to
File Organizations in the
File Handling Guide section.