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