AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 22254
Accepted
GaTechThomas
GaTechThomas
Asked: 2012-08-10 11:08:04 +0800 CST2012-08-10 11:08:04 +0800 CST 2012-08-10 11:08:04 +0800 CST

一般来说,在调优SQL Server时应该使用什么样的优先顺序?

  • 772

在调整 SQL Server 时,在尝试决定首先调整什么时通常使用什么啄食顺序?我问的是现有的数据库,我几乎没有能力重新设计。

例如,我的第一个想法是先调整聚簇索引,然后是非聚簇索引,也许还要检查约束。表和索引的分区将在某处进行。我希望我遗漏了很多可以列在这份清单上的项目。

sql-server performance
  • 3 3 个回答
  • 127 Views

3 个回答

  • Voted
  1. Best Answer
    marc_s
    2012-08-10T11:21:36+08:002012-08-10T11:21:36+08:00

    我喜欢遵循​​SQLCAT 团队成员 Tom Davidson 介绍的通过等待和队列进行性能调优的方法。

    您可以从这里下载并阅读他开创性的白皮书。

    SQLCAT 是 Microsoft 的 SQL 客户咨询团队 - 他们与要求最苛刻、最大的 SQL Server 客户打交道,因此对一些最大的安装以及如何使它们运行具有独特的见解。

    基本上,SQL Server 会收集大量有关它等待的原因和等待内容的统计数据。收集和解释这些信息可以引导您在正确的位置进行调整并解决正确的问题,而不是四处摸索,不知道从哪里开始和做什么。

    阅读该白皮书!这真的很有启发性!

    当然 - 你需要先建立一个基线(例如有一组查询 - 如果可能的话,你的系统在生产中的合理和现实的“工作量” - 并衡量它们的表现)然后你需要调整一些东西(基于收集和解释等待统计数据的见解)然后您需要再次测量以查看该调整是否有任何帮助 - 或者没有。

    • 2
  2. Tim Harkin
    2012-08-10T11:16:57+08:002012-08-10T11:16:57+08:00

    SQL Server 性能调整的操作顺序取决于许多因素,例如:

    • 数据库是用于报告,还是非常事务性的?
    • 哪些性能问题是显而易见的?

    最简单的第一件事就是删除未使用的索引——维护它们需要成本,如果它们未被使用,你就是在浪费资源。该信息可通过查看获得SELECT * FROM sys.dm_db_index_usage_stats。

    • 1
  3. mrdenny
    2012-08-11T00:15:39+08:002012-08-11T00:15:39+08:00

    大多数系统都是从非聚集索引开始的。对聚簇索引进行更改可能会很快变得非常棘手。

    除非您有数亿行或更多行,否则不应考虑分区。

    • 1

相关问题

  • 死锁的主要原因是什么,可以预防吗?

  • 如何确定是否需要或需要索引

  • 我在哪里可以找到mysql慢日志?

  • 如何优化大型数据库的 mysqldump?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何查看 Oracle 中的数据库列表?

    • 8 个回答
  • Marko Smith

    mysql innodb_buffer_pool_size 应该有多大?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    从 .frm 和 .ibd 文件恢复表?

    • 10 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    如何选择每组的第一行?

    • 6 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta 使用 psql 列出数据库权限 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    bernd_k 什么时候应该使用唯一约束而不是唯一索引? 2011-01-05 02:32:27 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve