繁体   English   中英

切换数据库文件时的Sqlite [重复]

[英]Sqlite while switching Database files [duplicate]

这个问题已经在这里有了答案:


我有.Net应用程序,用户可以在其中打开和关闭许多
Sqlite数据库文件,一次一次。
我使用System.Data.SQLite dll包装器。
从一个数据库移动到另一个数据库时,connection.close()是否足够,
我在某些地方看到了调用GC.Collect()的信息。
如何正确处理这些数据库切换?

谢谢,阿维。

这里对connection.close()GC.Collect()的效果进行了详细说明:

System.Data.SQLite Close()不释放数据库文件

基本上, connection.close()仅处理该句柄,直到垃圾回收器运行后才释放DB指针。 请注意, GC.Collect()是一项繁重的操作,如果上下文切换太频繁并且不需要删除DB文件,则最好将指针放在内存中,并由.Net框架处理它。

我的建议是,对这两个选项进行性能测试:

  • 使用GC.Collect
  • 没有GC.Collect

检查进程的延迟,内存使用率和cpu使用率。 根据测试结果做出决定。

祝好运!

[编辑]多读一点,我发现了这个链接:

connection.Close()和connection.Dispose()有什么区别?

根据问题,当使用using语句或调用connection.Dispose() ,无需调用GC.Collect()方法。

干杯,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM