跨环境的Sqlite性能

时间:2017-11-06 12:41:12

标签: sqlite datatable dev-to-production

我一直在分析一个实现SQLite数据库的项目。数据文件(.dat)是177MB,我所做的只是只读查询(少数选择)。

在我的开发机器(SSD)上,查询协作运行大约0.1秒。虽然当我在生产和测试环境中运行相同的查询时,完全相同的调用需要7秒钟。

我想知道哪些环境因素会如此剧烈地影响这一点,SSD和硬盘之间的区别肯定不会那么慢?它不是防病毒软件,但是我可以在.dat文件本身上放置任何东西吗?我想知道过去是否有人有这个问题。这令人沮丧,因为它在我的机器上本地执行如此高效,但在部署时却如此不同。

另外需要注意的是,查询比其他查询更复杂,但服务器上的性能时间并没有增加其复杂性,似乎只是为每个调用添加一个静态时间段。例如:

|---------------------|------------------|-------------------|
|        Query        |   Local Elapsed  | Prod/Test Elapsed |
|---------------------|------------------|-------------------|
|          1          | 00:00:00.1135747 |  00:00:01.3858359 |
|---------------------|------------------|-------------------|
|          2          | 00:00:00.0624730 |  00:00:01.3923305 |
|---------------------|------------------|-------------------|

正如您所看到的,通常几乎是运行时间的两倍,在其他环境中不会加倍。作为参考,这是一个.net核心应用程序,使用System.Data.DataTable以c#编写。

0 个答案:

没有答案