我遇到的主要问题是,从SQL Server CE数据库中进行简单选择时,第一个查询的典型等待时间为17秒,而每个后续查询的等待时间为〜5秒。
让网站闲置几分钟后,又延迟了17秒。我假设延迟是由于建立连接,缓存等造成的,但是我觉得在我们的LAN上这是一个荒谬的等待,只会对外部用户造成不利影响。
该站点是使用SQL Server Compact数据库(v4.0.8876.1)的ac#/ ASP.NET网站。这已部署到IIS8服务器。该站点旨在使用数据库中存储的不同模型的系数,根据用户输入来计算值。
在连接/查询期间出现如此大的延迟,我在做什么错?
连接字符串:
<add name="DatabaseConnection"
connectionString="Data Source=|DataDirectory|\Database.sdf"
providerName="System.Data.SqlServerCe.4.0"/>
询问:
string connstr = ConfigurationManager.ConnectionStrings["DatabaseConnection"].ConnectionString;
using (SqlCeConnection conn = new SqlCeConnection(connstr))
{
string queryString = @"Select id, description, imagePath
from ConservationModels
where model = @modelName";
SqlCeCommand command = new SqlCeCommand(queryString, conn);
command.Parameters.AddWithValue("@modelName", modelName);
try
{
conn.Open();
SqlCeDataReader reader = command.ExecuteReader();
while (reader.Read())
{
modelID = (int)reader[0];
description = (string)reader[1];
imagePath = (string)reader[2];
}
reader.Close();
}
catch (Exception ex)
{
throw;
}
}
如有任何遗漏的信息,我们深表歉意。对于任何建议,我们深表感谢。如果有更好的方法可以实现网站的目标,我将不胜感激。
按照MatteoSp的建议,我从站点中删除了SQL Server CE组件,并创建了一个SQL Server Express数据库来替换它。尽管由于某种原因,站点上的编译时间似乎有所增加,但这解决了我的问题,因为查询/连接速度很慢。
感谢您的帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句