Wednesday, April 13, 2016

ProgBarX

A simple progress bar which I created to replace the WAIT WINDOWs I put in ExcelPivot and ExcelExport classes.

Late last week, I decided to add more features onto it so its usage can go beyond those two classes such as for my other looping needs.

Progressbar on SQL SELECT

After that, I decided to see how I can incorporate this to an SQL SELECT as well, a desire which most of us share.  Here is how it looks like when incorporated on an SQL SELECT





SQL SELECT..  INTO CURSOR TEST RESULTS

* Update, April 14, 2016

Thought of another way to slash the overhead of progressbar on SQL SELECT.

Test is performed on our requested items for 9 years joining 5 tables in the process.   The SQL SELECT produces a cursor with  51,743 records:

- standard SQL SELECT (not using this class), average elapsed time on multiple runs is 1.83 seconds

- with ProgBarX showing records being processed, the bar and  percentage of completion (via SQLBar() method of class),
 average elapsed time is 4.50 seconds.

- with ProgBarX showing only the progress bar and percentage of completion via its SQLBarNoRec() method, average elapsed time of 3.72 seconds.

Again, the test is done on a 9-year dataset.  If it will be just within months or a year, the overhead will be less than a second.

The beauty of this is now we can see the number of records and its percentage of completion as those are created by an SQL SELECT.

Not only that, visual is the key.  Without a progressbar showing records being processed by an SQL SELECT with huge number of records, it appears to be slower than the one with ProgBarX.  That, of course, is an illusion as users do not like staring at the screen wondering what the hell is going on.  Users never like to unknowingly wait.

With this in place,  it provides users a real-time live feedback of what's going on behind the sql select processes as it shows the number of records being processed so far and can give them estimates on how much more to wait via the progressbar and percentage of process completion.  It also shows them that the app is currently doing something and has not frozen, as some tend to wonder or think on SQL SELECTs resulting to huge number of records.

This class though is only available for ssUltimate users.  The one added onto ssClasses does not have the latest features including that capability to show progress of an SQL SELECT.

A demo form for this is now available for my subscribers:




Interested in being a subscriber?  Email me at ss.classes.jun at gmail.com

Cheers!





No comments:

Post a Comment