We are in the middle of changing our application from using ProIsam files to using Postgres. We have been successful in exporting data from ProIsam and importing it into Postgres. We are now starting to run various functions and make the necessary changes (i.e. remove sort/select, dsel, etc.).
The speed we have been experiencing is terrible at best. A simple test report which reads an order header table and reads a customer master table for each order header record takes approximately 10 seconds to run in Postgres versus approximately 1-2 seconds in ProIsam. We are issuing our own SQL select statement to drive the cycle and filter out unneeded records and ProIV is taking care of reading the secondary (customer) table (direct mapping from order header to customer table). I have enabled logging in Postgres and have noticed that a savepoint is being created each time a read of the customer table is taking place. This doesn't make sense to me since this is a report function and all files/tables are in look mode. There is no chance of data being modified/inserted/deleted so why is ProIV doing this? I am not absolutely sure that this is the one and only cause of the slow performance but it certainly can't be helping.
Has anyone come across this before? Is this normal? ProIV's "solution" is to create a view which does result in much faster performance but there is no way we can do this for 5000+ functions.