.net - 非管理员用户的 System.Data.SQLite 慢速连接

标签 .net performance sqlite non-admin

我有一个带有 System.Data.Sqlite (1.0.82) 的 .NET 4 应用程序(混合模式),用于对加密数据库进行数据库访问。

当我将应用程序安装到“c:\program files\myfolder”时,连接到 sqlite 数据库文件的速度很慢。日志文件显示是 sqlite connect 语句延迟了几秒钟。

当我执行以下操作时,问题没有发生:

  • 以管理员权限运行应用
  • 安装除 c:\program files\以外的任何其他位置
  • 将应用程序安装到 c:\program files\,但将数据库移动到另一个文件夹。

我不知道这可能是什么原因...

最佳答案

如果 DB 文件在应用程序目录中,那么 UAC 很可能将其移动到“...appdata\Local\VirtualStore\Program Files”目录。最佳做法是创建您自己的 appdata\MyApp 文件夹,并将原始数据库从 c:\program files\MyApp 文件夹中复制出来。

关于.net - 非管理员用户的 System.Data.SQLite 慢速连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12908960/

相关文章:

C# 与 C++ 的性能——为什么 .NET 不执行最基本的优化(如死代码消除)?

c# - 如何实现自动调整大小

c# - 为什么在 .NET 中没有保留一些相同的字符串?

python - Python 中的递归、内存和可变默认参数

php - 如何使用PDO锁定sqlite数据库中的条目?

c# - 使用命名空间 C# 解析 XML

c - 如何限制 C 中的套接字速度?

performance - "Run Thread Groups consecutively"如何影响 setUp/teardown 线程组

java - 查询 ContentProvider 时出现 "Invalid Tables"错误

c - 处理 SQLite 数据库文件的路径更改