If a DB is entirely in-memory (i.e., opened with :memory:), which pragmas can be used to improve performance?
(1) I assume synchronous = OFF is desirable (2) I'm guessing journal_mode = MEMORY is already set. Is journal_mode = OFF another possible speed gain? Of course, then one loses the ability to do transactions. (3) If journaling is set to MEMORY, what is the best setting then for journal_size_limit? I guess it depends on how much memory one is willing to use overall, but in this case, it's not there for crash protection but rather to support transactions. Is there a sizing guide? (4) How about locking_mode? I imagine it would be OK and a small gain to set to NORMAL in a single-threaded application, but obviously not a good idea for multi-threaded. (5) If referential integrity can be sacrificed (the Oracle DBA in my whimpers a little), foreign_keys = false, but that's true whether on-disk or in-memory. (6) Is there any advantage to playing with: - page_size? - default_cache_size? - read_uncommitted? I assume there's a different answer for single- vs. multi-threaded (or rather, depending on how readers/writers interact) _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users