如何提高sqlicifer的性能?

时间:2018-10-30 12:17:17

标签: sqlcipher

我有一个很小的加密sqlite测试数据库。我运行一个非常简单的select:表中只有一条记录,其中包含一条记录。该请求耗时非常长:0.3秒。

lesnik@westfall:~/Projects/ls$ cat sql_enc.sql
PRAGMA KEY = "DUMMYKEYDUMMYKEY";
SELECT * FROM 'version';
lesnik@westfall:~/Projects/ls$
lesnik@westfall:~/Projects/ls$ time sqlcipher rabbits_enc.sqlite3 < sql_enc.sql
key         ver
----------  ----------
1           aaa

real    0m0.299s
user    0m0.297s
sys     0m0.000s

实验表明,时间不依赖于脚本中的请求数量,也不依赖于数据库的大小(此测试数据库仅为5kb,结果与500kb数据库相同)

如果数据库未加密,则不会出现此类问题。

在另一个Linux安装上(在同一主机上的不同Virtual Box中),性能稍好。而且在另一个Linux安装上也没有这个问题(脚本执行时间大约为0.001s),所以我相信这是环境的问题。但是我不知道如何进一步调查这个问题。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我们提供了使用SQLCipher here

的常规性能指南