sql解析

fbcarpbf  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(292)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

19天前关门了。
改进这个问题
我有个问题,希望这里能有人帮忙。我在一个文件中有数千条sql语句,必须根据where子句的逻辑相等性来识别重复的语句。例如
sql1公司

SELECT * FROM table1 WHERE col1='A' AND col2='B';

sql2公司

SELECT * FROM table1 WHERE col2='B' AND col1='A';

在上面的示例中,sql1和sql2是相同的。这是对这个问题的简单说明。我正在寻找不同的方法,我可以在这里的指针。我已经尝试使用apache方解石作为一个选项,它给了我一个可以比较的树,这是我现在倾向于使用的选项,但是我想看看是否有一些明显的东西我不知道。
提前谢谢

rkue9o1l

rkue9o1l1#

我不知道是否有一个简单的解决办法,但我会建议一个技术,可以帮助您确定一些重复的问题。
给自己准备一个数据库的大量副本,然后编写一个程序,逐个运行查询,比较结果。如果结果相似,则将查询标记为可能的重复。
您可以使用以下条件来确定 SELECT 查询相同:

if the number of rows is the same
->and number of columns is the same
->and the actual data is the same
->then its most likely that the queries are the same

相关问题