SuperFastDistinct! is the fastest way on the planet to obtain all the distinct values from a table. All you need is a TTable (or equivalent) and an index on the field(s) you wish to retrieve.
- Up to 5x, 10x, 100x faster than SQL
- Over 500x faster than SQL on large LAN based tables over the network (non-Client/Server)
- Uses up to 1,000x less memory than SQL on large tables compared to database engines like Paradox and others.
- Prevent computer slow downs and disk thrashing. Improve network throughput.
- Super easy. Requires only 1 line of code.
A single call to our SuperFastDistinct() procedure is 5x, 10x, even 100x faster than the SQL statement that it replaces:
Select distinct col1 [,col2,col3…] from Table1 order by col1 [,col2,col3…]
Your users will no longer have to stare at the hourglass while the slow SQL distinct query completes. SuperFastDistinct! can give you the distinct values 5x, 10x to 100x faster than SQL. All you need is an index on the field(s) and our proprietary algorithm will traverse the index to return the distinct values in sub-second speeds even on million row tables. Not only will this make your users happy, but your web server or database server can support more users without consuming vasts amounts of memory.
- Works with embedded databases, LAN databases, Client/Server databases
- SuperFastDistinct! works with any index, including compound indexes.
Let's say you have an index made up of the fields: Country, State, City. You have a choice of retrieving the distinct Countries, or the distinct Country & State combinations, or the distinct Country & State & City combinations. (You must choose one or more of the leading index fields. You can't get distinct Cities from this compound index because the index does not start with City. You would need to create another index on City if you want just the distinct cities.)
- Add a Filter or a Range to get a subset of distinct values from the table.
- SuperFastDistinct! is thread safe.
- Save the distinct values to any TStrings object like a TComboBox, TListBox, TMemo, or to another database table or even to a memory table like kbmMemTable etc..
- The results are automatically sorted in index order.
- Unlike SQL, SuperFastDistinct! will not consume a lot of memory and will run fast even on machines with very little memory. Memory consumption is extremely low.
SQL engines like Paradox/BDE can consume vast amounts of memory when retrieving the distinct values from a large table. During our benchmark tests, some of the SQL engines consumed over 100 MB of memory when retrieving the distinct values from a 1 million row table. By comparison, SuperFastDistinct! used only 1 kilobyte of memory to retrieve the same distinct values from the same 1 million row table.
- SQL is not required! If your database doesn't support SQL, that's fine because SuperFastDistinct! doesn't use SQL. SuperFastDistinct! works on any TTable component or 3rd party table component like DBISAM, Advantage, NexusDb, and even kbmMemTable. Support for other databases can be added by the user and we will be releasing support for more databases over the next few months.
- SuperFastDistinct! comes with complete source code.
- Works with IntraWeb from AtoZed and any web based applications that can compile Delphi code.
- SuperFastDistinct! is 100% Delphi code. All of the SuperFastDistinct! code is stored in a single Delphi unit called SuperFastDis.Pas. There are no DLL's or additional files to install to your client's machine. SuperFastDistinct! gets compiled directly into your .exe file. Getting super fast distinct values from your table is just one function call away!
- SuperFastDistinct! runs on Delphi 4 through Delphi 2006 for both Win32 and Delphi.Net
- No royalties!