SQL-92 Performance

BCM

Member
I am not finding any detailed technical documentation on performance improvements when using SQL-92 and ODBC to fetch data from a Progress 9.1D database. Is there a body of documentation or technical papers that discuss tuning the Progress database and tuning the client ODBC setup for SQL-92 access via ODBC?
 
There is also the 'Optimising Query' section of the SQL Manual in the OE10 docs available from the Progress website.

Some of it will be generic advice you are already familiar with, some OE only, but there may be some stuff in there you find useful.
 

BCM

Member
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.
 
BCM said:
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.

I can't help you much further I'm afraid, as I've never had to use SQL against Progress. There was a bug in the optimiser for Joins, but AFAIK that was a 9.1c thing. I get the impression the optimiser has been lousy with bugs in the past, and is not a Progress strong point.

One of the links I pointed you to earlier mentions UPDATE (INDEX) STATISTICS, which can apparantly help with some Joins (another bug may affect releases below 9.1D05 though).

See eg:

KB P22544
Title: "SQL-92 Query performance is slow."

http://tinyurl.com/lgysz

and

KB P84481
Title: "Performance issue with left-outer join in SQL-92 query."

http://tinyurl.com/kkbyx

If you don't get much more help here, don't forget the Peg, and Progress Tech support.

HTH
 
Top