我想测试两个查询,以了解它们的性能,而不仅仅是查看执行计划。我经常在Tom Kyte的网站上看到他这样做,作为收集证据支持他的理论的一种方式。
我认为性能测试存在许多陷阱,例如,在SQL开发人员中第一次运行查询时,该查询可能返回一些公平的数字。再次运行完全相同的查询会立即返回结果。服务器或客户端上必须进行某种缓存,我理解这很重要 - 但我只对非缓存性能感兴趣。
如何进行性能测试的指南?我如何编写重复查询的性能测试?我只需编写匿名块和循环吗?如何获取时间信息、平均值、中位数和标准差?
我认为性能测试存在许多陷阱,例如,在SQL开发人员中第一次运行查询时,该查询可能返回一些公平的数字。再次运行完全相同的查询会立即返回结果。服务器或客户端上必须进行某种缓存,我理解这很重要 - 但我只对非缓存性能感兴趣。
如何进行性能测试的指南?我如何编写重复查询的性能测试?我只需编写匿名块和循环吗?如何获取时间信息、平均值、中位数和标准差?