“选择”SQLite请求的性能问题

时间:2014-07-13 14:27:47

标签: wpf sqlite ado.net

我正在开展个人WPF项目,在那里我解析大文本,提取段落,句子和单词。对于我解析的每个单词,我发送一个" select"请求进入我在SQLite中转换的480k行/ 10列数据库,以便于部署。

我的问题是,这些请求中的每一个都在全球处理时间上增加了很大的延迟(在没有选择请求的情况下,我花费1,02秒/平均字而不是30ms)。我有一些想法可以解决这个问题,在我进一步投入选择之前,我想要你的意见:

  • 我可以使用我的480k行表填充数据表。我希望它能增加速度和使用的RAM(在目前的设置中我使用大约40Mo max)。由于我没有数据集/数据表的经验,我不确定它对于速度和RAM消耗是否是一个好主意。会不会太多?
  • 我可以将我的单词插入到同一数据库中的单独SQLite表中,并使用SQlite功能来连接数据库。也没有这方面的经验,我想知道是否有可能创建一个由两个表中的列组成的视图,其中一个(两者共有)用于匹配。我可以处理生成的数据库,无论是简单视图还是真实表

    最后一个问题:通过对我的SQLite插件批量使用单个事务,我设法大大减少了处理时间。我认为用" SELECT"是不可能的。要求。但是,我会欢迎一种惊人的技术来实现这一目标: - )

1 个答案:

答案 0 :(得分:0)

我以满意的方式解决了这个问题(至少对我来说)。我使用了数据表选项。 RAM消耗已经跃升至230Mo,但我认为在重字符串分析的背景下可以容忍它。

正如预期的那样,速度提高了约900倍。