有没有办法检查两个SQL语句的数学相等性?
我有两个SQL语句:
- SQL_STATEMENT_1
- SQL_STATEMENT_2
对数据运行两个语句并比较输出完全没有帮助。
像方程求解器一样,需要评估语句后的集合数学。
我的问题超出范围是:
- 比较等于,然后等于(大于,小于,等于...)
- 存储过程或触发器
- 公用表表达式(WITH)
在范围内:
- 子选择:WHERE other_id IN(从其他WHERE中选择ID ...)
- 加盟
select * from foo where id = 4
最肯定会有与select * from foo where id = 2
select * from foo where id = 4
,并select * from foo where id = 2
有两个不同的执行计划,如果1)中的索引统计信息是没有及时更新和2)即使索引统计信息是最新的最新的,ID的密钥分配是渐行渐远(提供的ID不是唯一键)。