【发布时间】:2013-12-30 20:06:18
【问题描述】:
我构建了一个 java web 应用程序,如果查询表中的大小约为 100 条记录,它可以在 SQL Server 2008 上正常工作。但是当我将它增加到 130 万条记录时,执行单个查询大约需要 4-8 分钟。我的应用程序使用休眠。
我已经在 6gb 内存服务器和 12gb 内存服务器上部署了这个应用程序,并且我的 java 堆大小分别增加到 4gb 和 8gb,但我仍然遇到同样的问题。
请问我可以做些什么来提高性能?
更新:
这是一种在 SQL Server 上运行速度很慢但在 Postgresql 上运行速度很快的 sql 查询
select distinct c.company from Affiliates c where c.portalUser.userId = 'user.getUserId()' and lower(c.company.classification.name) = lower('" + companyClass + "') order by c.company.dateOfReservation desc";
【问题讨论】:
-
米奇小麦有恕我直言的权利。扩展他的建议,我建议你从hybernate获取一个查询日志,你就会明白一切。
-
您是否在查询的列上放置了索引?
-
@AdriaanKoster 我在列上放了索引,但我仍然遇到同样的问题
标签: java sql-server sql-server-2008 hibernate tomcat