测试sql查询的可伸缩性,而不会在数据库表中有大量数据

时间:2016-03-09 15:49:19

标签: sql performance testing db2 scalability

我有一个非常复杂的SQL查询(具有多个连接和外部参照),它在我的数据库表中的小数据集上运行良好。我需要做的是测试如果数据集大得多(可能有数万条记录),这个查询将如何工作。实现这一目标的最佳方法是什么?任何建议将不胜感激。

2 个答案:

答案 0 :(得分:1)

有选项:

  • 在大型,真实的数据库上进行测试。
  • 模拟大型数据库:您可以在SYSSTAT视图中更新数据库统计信息(请参阅here for all catalog views)。通过将统计信息设置为模仿大型数据库的内容,您可以测试查询计划如何更改(或不更改)。这不会为您提供性能数据,只会估算查询成本,并希望了解查询的运行情况。

答案 1 :(得分:0)

除非橡胶遇到道路,否则你无法真实地测试它。我认为你目前没有足够的数据量,所以你想知道如果它涉及到那个卷,那么查询是否会表现良好。这是一个真正令人担忧的问题。我同意data_henrik你应该在一个大而真实的数据库上进行测试。我不同意伪装它来通过更新统计数据来模拟大型数据集。

您的数据库是否来自生成数据的应用程序?如果是这样,我建议您使用负载测试框架(有许多免费提供)来为您的应用程序生成流量,这样您就可以使用您可以测试查询的记录为数据库设定种子。