我一直认为数据库连接是最好使用和关闭的。但是,使用SQLite Im不确定是否适用。我使用“使用连接”语句进行所有查询。因此,据我了解,我先打开一个连接,然后关闭它。关于SQLite和最佳用法,最好在使用程序的过程中打开一个永久连接,还是继续使用当前使用的方法。
我正在使用VB.net Windows程序的数据库,该程序具有大约2gig的相当大的DB。
我当前的连接方法示例
Using oMainQueryR As New SQLite.SQLiteCommand
oMainQueryR.CommandText = ("SELECT * FROM CRD")
Using connection As New SQLite.SQLiteConnection(conectionString)
Using oDataSQL As New SQLite.SQLiteDataAdapter
oMainQueryR.Connection = connection
oDataSQL.SelectCommand = oMainQueryR
connection.Open()
oDataSQL.FillSchema(crd, SchemaType.Source)
oDataSQL.Fill(crd)
connection.Close()
End Using
End Using
End Using
最佳答案
与所有事物数据库一样,它取决于。在这种sqlite的特定情况下,您需要查看两个“依赖项”:
您是数据库的唯一用户吗?
隐式事务何时提交?
对于第一个项目,如果有数据库的其他用户,或者很可能同时有多个进程同时访问您的sqlite数据库文件,则您可能希望经常打开/关闭不同的连接。
对于第二项,我不确定sqlite的行为方式。某些数据库引擎在关闭连接之前不会提交隐式事务。如果sqlite是这种情况,则您可能希望更频繁地关闭连接。
连接应该在.Net中短暂存在的想法主要适用于Microsoft Sql Server,因为Sql Server的.Net提供程序也能够利用称为连接池的功能。在Sql Server之外,此建议并非完全没有优点,但并不是给定的。