我们刚刚构建了一个新的Hyper-V虚拟机来托管Java应用程序和Microsoft SQL Server。从Java JDBC应用程序运行SQL选择查询时,数据库的响应速度非常慢。从SQL Server Management Studio运行时,相同的查询会快速执行。
我们已经在裸机和VMware虚拟机上运行了相同的Java应用程序和SQL Server数据库,而没有任何性能问题。
我们的问题:
示例查询:
select * from view1 where app_id in (
select app_id from app_table where app_id % 1000 = 0)
order by app_id
响应时间:
Hyper-V虚拟机
app_table表只有两列。
create table app_table (
app_id [numeric](18,0) not null,
col_2 [varchar] (75)
)
app_view视图也很简单。
create view app_view as select app_id from app_table
我们尝试了Java应用程序,JDBC驱动程序和SQL Server的各种组合。
应用程序:
JDBC驱动程序:
SQL Server版本:
Java版本:8_241