我想用大量数据填充一些表,以便在最坏的情况下(好吧,尽可能接近它)凭经验测试 SQL 查询的性能。
我考虑使用随机值。但这需要手动调整才能接近最坏的情况。不受约束的随机值在最坏的情况下没有好处,因为它们往往是唯一的——在这种情况下,单个列上的索引应该与复合索引一样好。另一方面,从太小的集合中选择的随机值将导致大部分行被返回,这是无趣的,因为它反映的不是搜索性能,而是列表性能。
我也考虑过只看 EXPLAIN PLAN,但这不是经验性的,而且解释也会有所不同,部分取决于您已经拥有的数据,而不是最坏的情况。
是否有一种工具可以分析给定的 SQL 查询(以及数据库模式和理想的索引),然后生成一个大型数据集(给定大小),这将使查询尽可能接近最坏情况?
任何 RDBMS 都可以。
我也对获得这种对最坏情况行为的洞察力的替代方法感兴趣。