从基于 Spring 的应用程序访问 SQL Server 数据时,我遇到了一个奇怪的性能问题。在我当前的设置中,Spring java 应用程序运行在单独的机器上,从远程 SQL Server DB 访问数据。我在 Spring 中使用 NamedParameterTemplate,我相信它使用 Prepared Statement 来执行查询。由于某种原因,某些查询需要很长时间才能完成(大约 2 分钟)。JAVA 应用程序在运行 64 位版本 Java v1.6 的 64 位机器上运行,SQL Server 是 MS SQL Server 2008 R2。
奇怪的是,如果我从运行 Windows XP 32 位的笔记本电脑上运行相同的 Java 应用程序,运行相同版本的 Java v1.6,查询时间不到一秒钟,访问完全相同的远程数据库服务器(事实上,我已连接通过VPN)
这表明问题不在于 Spring 框架,而可能在于 SQL JDBC 驱动程序。我正在使用 Microsoft JDBC Driver 4.0 for SQL Server (sqljdbc.jar)
我完全一无所知,因为可能出了什么问题,并且不确定从哪里开始我的调试过程。我了解,我的问题中没有太多信息,所以如果您需要任何具体细节,请告诉我。
感谢您的任何帮助/建议。