我们最近从sql server 2012企业版迁移到sql server std edition,因为我们没有使用任何企业版功能。 Java应用程序(JEE 6)在JBoss 7.2社区版上运行,JDK 1.7在centos 7(64位)服务器上运行。该数据库是MS SQL 2014 STD并在Windows Server 2016上运行。应用程序和数据库都运行vmware。 MS SQL服务器的兼容模式最初设置为110,性能良好。我们通过将兼容模式设置为120来检查以查看性能。通过切换到120兼容模式,尽管我们重建了所有索引,清除缓存,更新统计信息,但所有查询都运行得非常慢。
重置为110不会产生更好的效果。最有趣的观察是当同一个应用程序在数据库服务器机器上运行时,查询运行得很快。
检查网络,重新安装数据库,VM不做任何改进。对这种奇怪的行为一无所知。
我们正在使用像hibernate(4.3)这样的工具,使用sqldialect2012。
我们是否缺少此客户端 - 服务器环境中的任何配置设置(jdbc / hibernate),数据库设置,以便我们可以从SQL服务器获得一致的行为。
请帮助理解这个奇怪的性能问题的根本原因。