Well for SQLite, I tried both ways, having the DB in memory completely, and also having a temp disk file, but both of them had a performance under the List with types. (I tried as mentioned here
https://www.sqlite.org/inmemorydb.html).
Also, with db tables/fields, you can filter/sort data.
I found out that going through all the list and discarding unwanted results was still faster than using WHERE clauses in SQLite.
Also sorting the List with SortType isn't slow, and it can sort on multiple fields like Sqlite. (sorting once with a field, then a second time with another field).
The reason I want to go for SQlite is because it's possible to add columns at runtime. I need to add columns or type fields at runtime to be able to add more sort and grouping options, but I don't know what will be the user's sort and grouping requests.