Hi JB.

I have always toyed with the idea of writing a paging query system which paged through a large SQL database. The idea would be that you only have one live cursor but 2 or 3 "pages" (cursors) forward and back. As the user scrolls past the current page you silently swap the pointer to the current page, flush the farthest page back and query the next forward page. This would give the user the "appearance" of good performance paging through the data while minimizing the workload.

Depending on what a user might do in your particular application, would determine how many pages you want to cache, and how many records per page you wanted to manage. For a 40,000 record database, you would only need 40 pages of 100 records each. That would be quite manageable. You could begin to cache all 40,000 records right out of the gate.

The big downside to any SQL based app is that all you really get out of the box is, well a box. A place to put stuff. You still need to program your own database engine, build your data structures, build the user interface around that, create your own sql statements for getting data into and out of "the box" etc. But some would call that an upside, so who am I to say? :-)

I have always thought that Revolution should have it's own proprietary data structure that had the API's for getting data into and out of the database, linked to Revolution objects directly. Perhaps that is what EQL is all about, I don't know. I haven't looked into it. But for Multiuser apps SQL is the only way to go methinks.

Bob Sneidar
IT Manager
Logos Management
Calvary Chapel CM

On Jan 2, 2009, at 4:49 AM, jbv wrote:

Hi there

I have a mySQL table with about 40000 entries. I also have a Rev cgi 2.5

script that sends (very) complex SELECT requests; in which the "WHERE"
part can feature as much as 50 nested booleans winth "and", "or",
"binary" etc

For quite some time I realized that requests to mySQL slow down my
scripts
in a terrible way, both because of the complexity of the requests, and
also because
of (imho) a buffer size problem when the amount of data returned is
huge...

I've tried several tricks to improve the speed of my scripts (like "one
big request"
vs "several small requests in a loop"), but with no luck...

finally, I tried the following : I dumped the content of myTable as a
text file, opened
it in the Rev script, and did the selection of records inside a "repeat
for each line" loop.
And to my surprise, the speed of the script improved to almost 40%
(which is a lot for
a script that used to take 5 to 6 sec, and now takes 3.5 to 4 sec)...

Well, I don't know what conclusion to draw from this... Besides the
obvious superiority
of Transcript... I guess some wise and experienced guys will tell me
that for sophisticated
DB processing I should have switched to a better product (like
Valentina) long time ago...

But nevertheless I'm curious to know if anyone already faced the need to
(almost) completely
drop SQL in favor of Transcript for DB data search...

Best,
JB

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to