can sqlite load 10M data into the memory
If it's possible开发者_开发知识库, how ?
I want to speed up the readings (not writings) in sqlite
Thanks
Yes.
SQLite loads data into memory in pages. The default page size is 1024 bytes. You can change the page size using this command.
PRAGMA page_size = bytes;
But you have to do this before you create the database (or in 3.5.8, you can change it by running a VACUUM after issuing the new page size pragma).
The cache is based on number of pages. The default cache size is 2000 pages. You can change it using this command.
PRAGMA cache_size = Number-of-pages;
So to store 10MB of data in memory, either increase the page size to 5120 or increase the cache size to 10000.
More info on pragmas is here.
Note, that the page size had been increased to 4096 bytes starting from sqlite version 3.12.0
https://www.sqlite.org/pragma.html#pragma_page_size
精彩评论