加速MS SQL服务器的最佳方法

时间:2009-02-24 16:00:13

标签: sql-server performance

我想知道是否有人有一些关于如何最好地设置MS SQL服务器以获得速度的一般系统管理员问题。我已将日志文件放在具有自己的控制器的不同驱动器上,并将索引移动到其驱动器,但与主数据文件位于同一控制器上。

系统管理员还有什么其他方法可以设置MS SQL服务器以加快磁盘访问,查询时间?

6 个答案:

答案 0 :(得分:17)

这个问题很普遍,所以一般的答案都适合:

  • 使用快速硬件。拥有尽可能多的RAM。
  • 如果使用32位操作系统,请AWE正常工作,尤其是当计算机是专用数据库服务器时。
  • 如果使用64位操作系统 - 甚至更好。可以充分利用更多的RAM。
  • 定期分析索引和应用程序性能。需要时,重建索引,创建新索引,删除旧索引等。
  • 了解不同类型的索引 - “群集”,“分区”等
  • 必要时,使用indexed-views。
  • DB Tuning advisor可以提供帮助。
  • 使用LoadBalancing解决方案让多台服务器运行数据库。
  • 了解应用程序的本质 - OLAP应用程序还有其他需求,而不是DataWarehousing应用程序。这会影响表的结构,磁盘跨越等。

答案 1 :(得分:2)

为了影响绩效,从最重要到最不重要:

  • 使用适当的数据定义和索引编写更快的代码
  • 使用更快的硬件
  • 你在这里询问的那种配置技巧。

虽然配置不当或服务不足的服务器可能会降低性能,但典型设置应该足够好,以至于从性能角度来看,这类事情现在已经远远落后于您应该担心的内容。

当然,如果你有一个特定的无法解释的瓶颈,那么你可能需要配置一些东西。但你也应该分享这些信息。

答案 2 :(得分:1)

使用数据库引擎优化顾问

答案 3 :(得分:1)

首先,我会尝试找出瓶颈;什么是你可以提高最多的“事物”/你系统中最慢的部分是什么?

这是你的代码吗? (适当的索引,基于集合的处理,尽可能避免使用游标,......) 它与硬件有关吗? 它与配置有关吗? - 登录单独的文件组/单独磁盘 - 您是否可以将某些表移动到另一个文件组,以便通常在查询中连接在一起的表位于不同的文件组中 - 你经常重建索引吗?

答案 4 :(得分:0)

快速的RAID配置和内存负载。

答案 5 :(得分:0)

小心DTA(调整顾问)。这一切都取决于工作量。

快速的事情:指数更好。查找长时间运行的查询或慢速查询,并在此处添加索引以支持。如果这是OLTP,请注意添加太多索引。

编写更好的代码,在某处(此处或SQLServerCentral.com)发布慢查询并获取加速它们的想法

更多记忆

从数据中分离日志在物理方面有所帮助,但是你必须通过IO绑定才能发挥作用。