我正在查询来自AWS sydney的数据库中的值,(我在新西兰),使用秒表测量查询时间,它非常不一致,有时在10毫秒内,有时在数百毫秒内,对于完全相同的查询。我不明白为什么。
Var device = db.things.AsQueryable().FirstOrDefault(p=>p.ThingName == model.thingName);
事情表只有5个条目,我已经尝试过没有asqueryable它似乎没有任何区别。我正在使用visual studio 2013,实体框架版本6.1.1
编辑:
因为这是为了一个企业,我不能放很多代码,另一个例子是它从34毫秒到400毫秒
感谢
答案 0 :(得分:1)
这可能与冷热查询执行有关。
第一次针对给定模型进行任何查询时,实体框架在幕后进行了大量工作来加载和验证模型。我们经常将此第一个查询称为" cold"查询。针对已经加载的模型的进一步查询被称为" warm"查询,速度更快。
您可以在以下文章中找到有关此内容的更多信息: https://msdn.microsoft.com/en-us/library/hh949853(v=vs.113).aspx
确保这是问题的一种方法是编写存储过程并通过它获取数据(使用实体框架)以查看问题是在连接中还是在查询(实体框架)本身中。