The Need for Speed
Both the row length and the number of rows in the table can have a detrimental effect on the speed of standard SQL queries. The larger the row length, the more duplicate values, and the more rows in a table, the slower the query. But since SuperFastDistinct! uses the index, the row length has minimal impact on its performance. SuperFastDistinct! can also jump over duplicate index values so a large number of duplicate values won't impact performance the way it does with SQL.
SuperFastDistinct! Gets Even Faster on Subsequent Runs
It can take some database engines 10 to 20 minutes to return the distinct values from a ten million row table. SuperFastDistinct! can return the same values in just a few seconds and will usually get even faster on subsequent runs. But if you try re-running the same SQL "Select Distinct ..." statement on a million row table, it will still plough through all the data each time you run it and will return the results at a snail's pace. Not only will SuperFastDistinct! make your users happier but it will also help to unclog your network bottlenecks and minimize disk access. So save the coffee grinding for your coffee mug, not your hard drive.
More memory efficient than SQL
SQL is also notoriously bad for consuming vast amounts of memory when it is traversing large tables. This gobbles up your systems resources and could slow your computer down to a crawl, especially if it has to resort to paging! As you may have discovered during the benchmarks, some of the SQL engines consumed over 100 MB of ram when retrieving the distinct values from a 1 million row table. SuperFastDistinct! on the other hand used about 1k to get the same distinct values from the same 1 million row table. That is a saving of 100,000x less memory than SQL. Now you can get distinct values using old computers that you thought were destined for the scrap heap. Your computers will remain at peak efficiency even on million row tables!
Don't forget to check out our demo programs, especially our BenchmarkDemo.Dpr program which produced the great looking graphs that appeared in this document.
There is also a simple combo box demo to get you started. If you're into web development, check out our Intraweb demo.
And if you think building reports has to be time consuming and boring, take a look at PrintDAT!. It's the easiest report component ever written for Delphi and C++Builder.