我知道之前已经问了很多,但我仍然没有找到合适的解决办法。
我正在创建一个定期启动和停止的桌面应用程序。该数据库是一个在线存储的MySQL数据库,我使用最新版本的EF和MySQL连接器。
我也在代码优先工作。目前,我只有3个小实体,但这些实体会及时增长。数据库已在启动时生成,因此不再需要创建任何内容。
每次启动应用程序时(即使在部署时),从数据库中检索第一个数据(仅限50个记录,但我也只尝试了10个并且它没有任何区别)是慢:大约5秒钟。之后,接下来的查询非常快(大约1秒钟)。
我已经尝试过生成视图,但它并没有改变任何东西。我也只创建了1个DbContext。
如果我尝试使用ADO.NET,即使在第一次查询(检索所有50条记录)时,我几乎立即得到结果,因此它与连接问题无关。
我不确定我要提供哪些信息才能帮助我,所以请随时提出更多信息。
知道我能尝试什么吗?在用户开始使用该程序之前,真的应该花5秒钟吗?
答案 0 :(得分:0)
在EF上运行第一个查询时,即使程序已经被编译,也必须编译它。
我建议您阅读此http://www.codeproject.com/Articles/38174/How-to-improve-your-LINQ-query-performance-by-X和此https://msdn.microsoft.com/en-us/library/vstudio/bb896297%28v=vs.100%29.aspx,然后再次尝试查看这是否有帮助。
祝你好运!