On 26 Apr 2017, at 10:00pm, Kim Gräsman <kim.gras...@gmail.com> wrote:

> Specifically, I wonder if 4MiB for the general-purpose heap is maybe
> entirely unreasonable? Is there a way to forecast how much memory will
> be necessary for transactions and query processing, or does that
> depend entirely on the workload?

Depends on a number of factors, including the data present in the database.  In 
other words, you can forecast memory-usage based on the data in your test 
database, but that does not allow you to predict memory-use for your customer’s 
databases unless you know how many rows they have in their tables, whether the 
chunkiness of their data has changed since the last ANALYZE and such things.  
This isn’t the way you’re meant to use SQL.  You’re meant to issue your 
commands and have the SQL engine worry about executing them.

So do you have good indexes ?  With them, SQLite can just iterate through the 
entries in the table, as indicated by index order.  This dramatically reduces 
usage of the cache.  Without them, SQLite has to process and temporarily store 
the rows in the tables to figure out what order to process them in.  This means 
it has to access many more rows of the table.

Simon.
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to