> Are these multiple tables in a single database (file), or multiple databases > (files)? Multiple connections or a single connection?
Right now there are multiple read-only processes to read the same file. If I go with any RAM-based solution, I will have to use a single process to read database and feed the data to calculation processes. > In any case, you set the cache size in pages by executing "PRAGMA > cache_size=<pages>" after opening the database connection. > > You can test it without modifying your code by executing "PRAGMA > default_cache_size=<pages>;" against the database file using the shell. > > The default sqlite page cache per database connection is 2000 pages. So the > maximum memory used by sqlite for the page cache is page_size * cache_size. > You can query these with "pragma page_size" and query/set the cache size with > "pragma cache_size". This is a great idea because ideally I can load all database to cache if there are enough RAM. However, I am wondering if extra-large cache might actually hurt the performance if cached pages have to be consecutive. I mean, if there are 100,000 pages and I specify a cache to hold 40,000 pages. When I get the first and last table, will sqlite load the first 40,000 pages, read the first table, read the last 40,000 pages, and load the last table? I guess (and hope) sqlite is cleverer than that... Bo _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users