0

我正在使用 SQL Server 2008 进行我的 Java Web 开发,我在 Java 中使用 Hibernate,

因为一些负载很重的查询有这么多的过滤条件,排序依据,分组依据,加入我的 sql 服务器出现故障。

使用我的任何建议或机制都可以防止我的服务器宕机。

感谢任何帮助/建议。

4

3 回答 3

2

确定哪些特定查询对您的系统造成了最严重的压力(SQL Profiler 是您的朋友,如果您没有适当的 MSFT 许可证,还有一个免费的)。

首先关注繁重的查询。查看查询计划是什么(SQL Server 非常适合建议更改索引策略)。如有必要,手动重写最严重的违规者或配置 Hibernate 以使用不同的查询策略。

还要研究Hibernate 中的一级和二级缓存。适当的缓存可以大大减轻数据库的压力。

到那时,您应该有具体的问题,可以得到更具体的答案。

于 2012-04-04T08:22:35.670 回答
1

为什么要使用重载查询,可以用程序试试。它将提高性能,而不是通过繁重的要求。您还可以为常用查询创建索引。

检查这个, http: //forums.codeguru.com/showthread.php?t=337736

于 2012-04-04T08:22:08.480 回答
1

这是一个免费工具,也可能有所帮助。捕获 SQL Server 跟踪(使用 SQL Profiler 等)后,您可以使用免费的查询分析器工具非常详细且非常直观地分析跟踪。您甚至可以比较跟踪(例如,应用程序更改或环境修改之前和之后)以查看对数据库工作负载的影响。

该工具可在此处下载:Qure Profiler - 免费 SQL Server 跟踪分析工具

于 2012-04-10T07:10:59.707 回答