How to reduce SQLite memory consumption?

前端 未结 4 1600
眼角桃花
眼角桃花 2021-01-31 20:56

I\'m looking for ways to reduce memory consumption by SQLite3 in my application.

At each execution it creates a table with the following schema:

(main TE         


        
4条回答
  •  既然无缘
    2021-01-31 21:12

    In the spirit of brainstorming I will venture an answer. I have not done any testing like this fellow:

    Improve INSERT-per-second performance of SQLite?

    My hypothesis is that the index on the text primary key might be more RAM-intensive than a couple of indexes on two integer columns (what you'd need to simulate a hashed-table).

    EDIT: Actually, you dont' even need a primary key for this:

          create table foo( slot integer, myval text, occurrences int);
          create index ix_foo on foo(slot);  // not a unique index
    

    An integer primary key (or a non-unique index on slot) would leave you with no quick way to determine if your text value were already on file. So to address that requirement, you might try implementing something I suggested to another poster, simulating a hashed-key:

    SQLite Optimization for Millions of Entries?

    A hash-key-function would allow you to determine where the text-value would be stored if it did exist.

    http://www.cs.princeton.edu/courses/archive/fall08/cos521/hash.pdf http://www.fearme.com/misc/alg/node28.html http://cs.mwsu.edu/~griffin/courses/2133/downloads/Spring11/p677-pearson.pdf

提交回复
热议问题