After some investigation I wrote in P.P.S. of previous post I found that sqlite dbase file lacks of indexes on all columns that we are sorts.
You can check on your test sute the differents betwenn not indexed table and table with those indexes:
create index filename_index on file_metadata(filename,tag);
create index title_index on file_metadata(title,tag);
create index author_index on file_metadata(author,tag);
create index type_index on file_metadata(file_type,tag);
create index size_index on file_metadata(file_size,tag);
create index date_added_index on file_metadata(file_time_added,tag);
create index time_viewed_index on file_metadata(file_time_lastread,tag);
You need to apply those command on global.db by using sqlite3.exe
BTW size of my old global.db was ~ 37 MB and ~ 2000 files.
If I find time I will check time by myself also.
P.S. I also like to bring all my books with me in one SD card. The problem is with algorithm of searching needed book and overall performance of reader