有哪些工具可用于测试SQL语句的性能?

8
在不断追求性能的过程中(以及我的丰富经验),我学到了一些可能会拖慢SQL语句性能的要点:

强迫症子查询障碍
进行疯狂类型转换(并将其嵌套到无限深度)
对这些疯狂类型转换的聚合函数进行分组
Where fldID in (select EVERYTHING from my 5mil record table)

我通常使用MSSQL。有哪些工具可以测试SQL语句的性能?这些工具是内置的,而且针对每种类型的DB服务器都有特定的工具吗?还是有通用工具可用?


你是为了经验而猛攻吗?还是你的经验正在蓬勃发展?<g/> Mitch的回答加一。 - DaveE
6个回答

11

谢谢,这基本上让我开始了。这涵盖了MSSQL的方面,是否有适用于MySQL或Oracle的通用工具?还是它们有自己的工具? - MoSlo

4

我主要使用Profiler和执行计划查看器


几乎所有你需要的,对于个人查询来说。 - gbn

1

执行计划是调试查询性能问题时首先要查看的内容之一。执行计划将告诉您查询中每个部分大致花费了多少时间,并可用于快速确定是否缺少索引或具有昂贵的连接或循环。


0

MSSQL有一个数据库调整顾问,它通常会根据调整期间运行的常见查询为表推荐索引,但它不会为您重写查询。

在我看来,经验和实验是编写良好的SQL查询的最佳工具。


0
在MySQL中(可能也适用于其他数据库),您可以EXPLAIN查询以查看数据库服务器对其的看法。通常用于决定应创建哪些索引。而且这个功能是内置的,因此您可以在不安装其他软件的情况下使用它。

0
Adam Machanic有一个简单的工具叫做SqlQueryStress,可能会有用。它被设计用于“针对单个查询运行快速性能测试,以测试想法或验证更改”。

Adam的工具真的很棒。我用过它,发现它对于调整我的数据库非常有帮助。 - user297691

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接