[英]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框架处理它。
我的建议是,对这两个选项进行性能测试:
检查进程的延迟,内存使用率和cpu使用率。 根据测试结果做出决定。
祝好运!
[编辑]多读一点,我发现了这个链接:
connection.Close()和connection.Dispose()有什么区别?
根据问题,当使用using
语句或调用connection.Dispose()
,无需调用GC.Collect()
方法。
干杯,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.