SQLite .Net性能

Cha*_*iam 4 .net c# sqlite caching

我试图在我的应用程序中使用sqlite作为一种缓存.我说的有点因为项目永远不会从我的缓存中过期而我没有存储任何内容.我只需要使用缓存来存储之前处理过的所有ID.我不想两次处理任何事情.

我以10,000条消息/秒的速度将项目输入缓存,总计1.5亿条消息.我的桌子非常简单.它只有一个存储id的文本列.我使用字典在内存中完成了这一切,然而,我正在处理数百万条消息,尽管速度很快,但是一段时间后我的内存耗尽了.

我已经研究了sqlite和性能,我知道配置是关键,但是,我仍然在插入上获得了可怕的性能(我还没有尝试选择).我甚至无法跟上5000次插入/秒.也许这是最好的.

我的连接字符串如下:

Data Source=filename;Version=3;Count Changes=off;Journal Mode=off;
     Pooling=true;Cache Size=10000;Page Size=4096;Synchronous=off
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助,您可以提供!

Mit*_*eat 5

如果您一次进行大量插入或更新,请将它们放入事务中.

此外,如果每次执行基本相同的SQL,请使用参数化语句.

你看过 SQLite优化常见问题解答(有点旧).

嵌入式系统上的SQLite性能调优和优化