Whenever you are designing a new modification, you not only need to design to address the defined needs, but also to provide a solution that processes efficiently. An inefficient solution carries unnecessary ongoing costs. Many of the things that you can do to design an efficient solution are relatively simple.
The slowest thing in any computer system is the disk I/O. Disk I/O takes the most time, generally more time than any other system activity. Therefore, if you have to choose where to concentrate your efforts in designing with respect to efficiency, you should focus on minimizing the disk I/O.
The most critical elements are the design of the keys, the number of keys, the design of the SIFT fields, the number of SIFT fields, the design of the filters, and the frequency of accesses of data (especially FlowFields). If your system is going to have five or ten users, processing a couple of thousand order lines per day and not being heavily modified, then you...