3

我目前在我的项目中使用 MS SQL Server 2008。

我们已经对我们的解决方案进行了性能测试,我们发现执行一些查询所花费的时间变得非常慢。

例如。如果只有 1 个事务进入系统,则执行选择查询所需的时间约为 40 毫秒。

如果并发性很高,对于同一个查询,执行 select 查询的时间最多可能需要 30 秒。

无论如何我们可以调整数据库或任何类型的?

这是 Hibernate 生成的查询。

SELECT . . . 
FROM TERMINAL this_ 
LEFT OUTER JOIN MERCHANT merchant2_ ON this_.MERCHANT_FK=merchant2_.ID 
LEFT OUTER JOIN MOBILE_USER mobileuser3_ ON this_.MOBILEUSER_FK=mobileuser3_.ID 
LEFT OUTER JOIN MERCHANT merchant4_ ON mobileuser3_.MERCHANT_FK=merchant4_.ID 
WHERE this_.MOBILEUSER_FK=7 AND this_.STATUS='ACTIVE' LIMIT 1
4

1 回答 1

-1

如果表中没有太多数据,这可能会更快;

SELECT . . . 
FROM TERMINAL this_ 
LEFT OUTER JOIN MOBILE_USER mobileuser3_ ON this_.MOBILEUSER_FK=mobileuser3_.ID 
LEFT OUTER JOIN MERCHANT merchant4_ ON mobileuser3_.MERCHANT_FK=merchant4_.ID 
WHERE this_.MOBILEUSER_FK=7 AND this_.STATUS='ACTIVE' and 
this_.MERCHANT_FK in (SELECT merchant2_.ID FROM MERCHANT merchant2_)
于 2013-01-13T07:08:38.553 回答