有没有什么好的工具可以比较2个查询的结果集并突出显示差异。当重新编写查询以进行性能调整时,这特别有用,我们希望确保查询产生相同的结果。我使用Quest SQL优化器比较原始查询和重写查询,但是该工具仅在计算行数时停止,某种形式的实际数据比较应该会非常有帮助。
如果查询Q1和查询Q2返回相同数量的行,则此查询将检查它们是否返回完全相同的数据:
select count(*) from ( select * from q1 intersect select * from q2 ) /
也就是说,结果应与独立运行时每个查询返回的行数相同。