我有一个asp.net(mvc)项目,它或多或少类似于网上商店(实体框架在项目中用于创建数据库实体)。我正在使用Web服务来获取列表中每个细节的所有信息,然后我必须从Firebird数据库请求每个细节的价格。
foreach (var item in DetailList)
{
try
{
item.price = db.PRECES.Where(e => e.RAZOTAJA_KODI == item.articleNo ).Select(e => e.REALIZ_CENA).First();
}
catch
{
item.price = 0;
}
}
这个简单的请求需要花费很多时间。以下是统计数据:
节目总时间:5.589(秒)
Webservice总响应时间:2.627(秒)
数据库价格总响应时间:2.954(秒)
因此,webservice响应花费的时间更少,但是每个细节的所有信息都已设置,包括照片,文件等。对Firebird数据库的一个简单请求正在花费更多,甚至更多时间。
我该如何解决这个问题?
可能将此数据库迁移到MS SQL会使其更快地运行吗?可能是Firebird问题吗?