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]
-----------------------------------------------------------------------------