SQLite在Mac上比Windows慢12倍

时间:2015-07-10 20:16:18

标签: macos sqlite delphi firedac

我的应用使用FireDAC(Delphi XE7)访问SQLite。

Mac版本比Windows版本慢约12倍。

我关闭了journal_mode,并且没有日记文件出现。

我能看到的唯一区别是Mac默认启用了checkpoint_fullfsync(在Windows中默认关闭它)。我已经在Mac上关闭了它,但是12X减速仍然存在。

Mac是最新的优胜美地。 SQLite3 -version报告3.8.5。

Windows 7正在使用任何版本的SQLite3加入FireDAC。

什么会导致如此巨大的性能差异?

2 个答案:

答案 0 :(得分:1)

正如da-soft在评论中所说,将FDConnection.ResourceOptions.SilentMode设置为True可以解决问题。现在,OSX上的查询速度提高了十倍。

答案 1 :(得分:0)

根据与Embarcadero合作的产品测试人员进行的测试,包括使用相同查询与UNIDac进行比较,12X减速事件与FireDAC使用事务的方式有关。该问题已被添加到Embarcadero的错误报告系统中,并且已被复制。