I just updated SQLite3ProfessionalPlugin to version 2.0.2.
I'll release it in the next days.
This version has two new internal methods, AttachDatabase and DetachDatabase. Using them with an in-memory database for caching 50000 records (with SQLiteRecordSet) now takes 0.7 seconds from about 2.5 seconds of the previous version (the while loop used to insert records in the in-memory db caused the slowdown ). This is about a 400% speed-up and all the code is written in RB.
The trick is to attach the original db to an in-memory database and then for the insert I am doing somethink like:
INSERT INTO rs (...) SELECT * FROM table
As the previous version the SQLiteRecordSet class is released in source code format so you are free to examine or modify it.
I also added a new method (written in RB) SQLCacheSelect (sql as string) as SQLiteRecordSet that simplify a lot all the query that needs to be cached (please note that rs.RecordCount works fine if you use the new SQLCacheSelect method).