如何测试数据库的性能最佳实践

时间:2010-08-17 14:45:02

标签: sql sql-server performance sql-server-2008

我需要测试数据库中某些表的索引性能。

使用索引运行查询或没有索引后,我总是使用此代码;

SELECT * FROM sys.dm_exec_query_optimizer_info;

我收到有关查询的详细信息。

我的问题是:

using sys.dm_exec_query_optimizer

我的查询的详细信息总是在变化,难以理解。 什么是最好的解决方案?

您知道任何方式或最佳做法吗?

1 个答案:

答案 0 :(得分:2)

您必须了解查询优化器告诉您的内容。数据变化很好;这意味着事情的行为会有所不同,具体取决于您是否有索引。但是,没有关于如何呈现优化程序信息的标准化 - 每个DBMS都以不同方式执行。如果您要解释数据,您必须理解它。

查看查询计划很重要。最终,测量实际性能也是如此。这部分取决于你为什么要查看索引。如果您正在解决的感知性能问题,那么显然您需要确保通过添加的索引或索引解决问题。您还需要确保在维护操作(插入,删除,更新操作)上添加索引的成本是不可容忍的 - 您没有添加太多索引。您可能还需要考虑磁盘空间使用情况 - 是否可以为这么多索引提供如此多的磁盘空间。

如果没有关于您的DBMS或特定查询的更多具体信息,很难提供更具体的建议。