Quote from GasGiant on 05/17/07 at 07:22:55:It seems a bit counterintuitive to run a database report on a local machine. Perhaps it is a nice way to distribute processing time, but don't the thousands of calls back to the server negate that savings and then some?
Yes, it is counterintuitive in a way. The many thousand calls to the DB server are costly but it's not certain to be more costly than the processing time. It depends on the server's load. If you are heavily loading your server (which you shouldn't do) then offloading report processing to the workstations would speed things up. But if your DB server is powerful enough then it would be best to run the report right there where the data is and just send the result back.
This is, of course, basically exactly what I've been saying all along. It's not really any different than how I've been saying that btrieve is an old, dead technology and that SQL is the way forward. A SQL query *WOULD* run on the DB server and *WOULD* report back just the results. The resulting returned data then must just be properly formatted and displayed. The whole shooting match could be done in very few network transmissions. As badly as DBA screwed up in outsourcing their new version to some startup in New Zealand they still did the right thing. It didn't work out (as anyone who has seen DBA-NG can attest to!) but they at least tried. More normalization, better database product (and free too!) and SQL based. It's really the way to design a database app. 'Twas a bit too much to bite off all at once though... It's a shame...
Of course, Pervasive SQL quite obviously supports SQL too so there's nothing on the database side that prevents something like EVO from doing more server side processing. Except, of course, for my arch nemesis TAS7.
Which, leads to the same conclusion we've been at for a while: We need to get together and replace the existing Evo reports with Crystal reports or something. CR can do SQL queries and so can PSQL so the combination could be used to offload some work to the DB server.