Lee, Thank you for the recommendations. I just read some of them and learned things I did not know.
Our situation here is that we have licensed an application developed in Progress. We have no progress code for this application. This is the only non-windows application we have. All our other data resides on Sql Server. Early each day we copy most of the Progress tables to the Sql Server. All the SQL-92 queries to Progress are simple select statements with no joins. Through trial-and-error I have observed huge performance degradation when doing SQL table joins on the Progress tables even when those joins use indexed fields. Several of the tables contain over one million records. Some of the tables contain approximately 250 columns.
Another observation is that when two or more SQL-92 queries are attempting to run concurrently against the Progress database the query performance time suffers considerably. This would not be as obvious on Sql Server or Oracle.
Another observation is that when attempting to retrieve all rows from the Progress table the overall elapsed time will be much better when I break the query up by the value of an indexed key that may have 8-12 possible values. This makes no sense to me as I want all rows anyway. Unless the problem is the ODBC pipe.
On Sql Server the time required to fetch the rows is much less than the time required by Progress. That is why I want to tune the Progress Database, Broker, SQL-92 Server, and ODBC pipe.