If performance is very important to you and you have a need for SQL elsewhere consider using the Sqlite virtual table interface. Your virtual table can be a flat file which is memory mapped and you use either a regex or fast string search on it. You will have a result in milliseconds. You could return a rowid for further navigation through the database.

String searching on a memory resident list will be faster than using an index up to quite a large size table. If you have a multi-processor machine you could partition the search into parallel tasks and get an advantage. It appears that you are doing a simple string search and don't need regular expression overhead.

If you have a very large table you can build a B-tree index on it in your virtual table and access through that. The index can also be memory mapped and will deliver millisecond access times from tables with many millions of entries.

We have achieved speed improvements on the scale of orders of magnitude by using such techniques on text and taking advantage of a high performance search algorithm.

Spiros Ioannou wrote:
John Stanton wrote:
Sqlite does cater for text searching.  Look at FTS.

This is not text searching. No stemming, etc etc is required. Column has exactly 1 word, and the 'LIKE' substring matching is performed at the words' first characters (not end-characters).
Thanks,
-Spiros

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------



-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to