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