H
hdaniels
Guest
Using an SBO would not improve performance. It is an SDO container. Performance of joined queries can often be improved by dynamically changing the order of the tables in the query based on filter and sort criteria. If the secondary table has indexes that support the filter and sort criteria directly and there is an index that supports the join in the other direction then moving that table first in the query when it is sorted and not filtered or when included in the filter criteria will likely eliminate many slow cases. In theory this can be achieved by using dynamic SDOs on a stateless Appserver, but I don't think it is trivial. Another alternative is to use a ProDataset and replace the SDO with a DataView. I believe it is easier to implement a datasource that can change the order of the tables in the query based in filter and sort criteria than managing this in an SDO. But you would need to implement the service adapter and the code to manage the prodataset on the server. A more brute force approach is to customize the browser or fix your filter to give errors or warnings for certain sort and filter criteria. I believe it rather difficult to implement a solution that checks the number of records first and then disallows a sort. This would probably require you to read all data first without the sort ....
Continue reading...
Continue reading...