× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Doug Palme wrote:
Without disagreeing with you Joe and with trepidation that I am opening up a can of sardines here; would you be willing to expound on the argument that I/O is faster than SQL? The reason I ask is there is an intense debate going on here locally over the issue of DDS defined PF's versus DDL defined files and whether SQL is faster or slower than normal I/O.

Any additional information would be appreciated.....

Douglas
Okay, I'll try to be brief, because a lot of this has been hashed over frequently on the lists (you may be able to find some of this by searching on "SQL performance native" and "DDS vs DDL").

The problem is that there are two different issues: DDS vs DDL and SQL vs native. DDS/DDL has to do with how you define your files and in nearly every case, DDL-defined files provide better access than DDS. The primary reason is that DDL checks data on the write to the file, while DDS performs checks on the read, and since (with the exception of logging) most application are at least 80% read (many much higher), DDL outperforms DDS hands down. There are a couple of caveats, a couple of things DDS can do that DDL can't, most are not really big issues. The biggest one is that the concept of a field reference file is pretty kludgy in DDL, but anyway, you can research those issues.

SQL vs native is completely different. Remember, for the most part, SQL can access both DDL and DDS defined files, and so can native I/O. So choosing which language to access your files usually has nothing to do with choosing the method you use to create them. SQL access provides a few features that aren't typically available in native I/O (I think SQL still has better LOB support, for example) but for traditional business purposes, neither one has a functional database0-related advantage over the other.

So finally it comes down to performance, and there the differences are clear. When I last ran my benchmarks (on V5R3, I think), single-record chains, updates and writes all outperformed their SQL counterparts by a wide margin. It's pretty simple to do; write a program that reads a random record out of a file using a chain and using a SELECT statement, put it in a loop for about 100,000 reads and see which wins.

I hope that helps clear things up a little bit.

Joe

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.