在我的C#app中,我可以在Online SQL-Server连接和本地SQLCE(sdf文件)连接之间切换。两个DB在结构和索引上都是相同的。
但是通过SqlCeConnection使用本地SDF文件要慢得多 - 在进行大量调用时要慢20倍。
示例:
using (DbConnection connection = new SqlCeConnection(ConnectionString))
{
connection.Open();
using (DbCommand cmd = GetSqlCommand("select * from t", connection))
{
try
{
var reader = cmd.ExecuteReader();
while (reader.Read())
{
...
}
reader.Close();
}
catch (Exception e) { }
}
}
这里发生了什么 - 我能优化吗?
答案 0 :(得分:1)
在应用的生命周期内保持单个连接打开和未使用,SQL Compact没有连接池。
此外,由于以下原因,打开SqlCeConnection可能会很慢:
此处有更多信息:http://erikej.blogspot.dk/2013/08/faq-why-is-opening-my-sql-server.html