有人和我说可以用执行计划来分析,但我拿到执行计划之后发现
SELECT语句中的列可以有别名,执行计划中没有
SELECT语句中的列有自己写的顺序,执行计划是按照表、以及每个表中的列的顺序来排列的
于是这个程序就卡住了。
有谁能告诉我有啥好办法来解决这个问题么?
10 个解决方案
#1
#2
你右键那个执行计划里面的图标,然后选择属性,在右边窗口有更详细的信息,里面有别名和列名的
#3
另外除非你的查询中每个表都有大量的列且都要查出来,不然不会很难看啊。一般每个表其实就用到5、6个列而已,你熟悉表结构的话应该了然于心
#4
版主大人,我现在想做的是一个自动识别的过程,每天要识别上千句的SQL,而不是肉眼识别...
属性里面的列名是和xml里面的列名一致的...一无别名二顺序与SQL文不一致,也就是程序识别不了的...
属性里面的列名是和xml里面的列名一致的...一无别名二顺序与SQL文不一致,也就是程序识别不了的...
#5
自动化对比?那太高智能了。你怎么可能自动化实现啊?这些需要人脑分析的,
#6
嗯,是蛮智能的呀,本来是用文本分析的方式去做的...但文本分析有个很大的障碍就是遇到视图就不行了...
所以才打算用执行计划,但执行计划的顺序又不匹配...除非写SQL的人不用AS,并且全部安装表里面的列顺序来写SQL,不然就搞不定。
所以才打算用执行计划,但执行计划的顺序又不匹配...除非写SQL的人不用AS,并且全部安装表里面的列顺序来写SQL,不然就搞不定。
#7
我觉得你花时间去找找有没有第三方软件更加实际。这个太专业了。
#8
#9
版主你说对了,最后还是决定做文本分析...不过不是第三方的,是微软的,打算用ScriptDom作解析器,列出顶层查询的别名表,建立查询中每个查询列、表与子查询的别名字典,然后一层一层分析下去,最后再和执行计划作比较,视图的问题只好先放着再说了...
#10
楼主 你最终是怎么解决的
#1
#2
你右键那个执行计划里面的图标,然后选择属性,在右边窗口有更详细的信息,里面有别名和列名的
#3
另外除非你的查询中每个表都有大量的列且都要查出来,不然不会很难看啊。一般每个表其实就用到5、6个列而已,你熟悉表结构的话应该了然于心
#4
版主大人,我现在想做的是一个自动识别的过程,每天要识别上千句的SQL,而不是肉眼识别...
属性里面的列名是和xml里面的列名一致的...一无别名二顺序与SQL文不一致,也就是程序识别不了的...
属性里面的列名是和xml里面的列名一致的...一无别名二顺序与SQL文不一致,也就是程序识别不了的...
#5
自动化对比?那太高智能了。你怎么可能自动化实现啊?这些需要人脑分析的,
#6
嗯,是蛮智能的呀,本来是用文本分析的方式去做的...但文本分析有个很大的障碍就是遇到视图就不行了...
所以才打算用执行计划,但执行计划的顺序又不匹配...除非写SQL的人不用AS,并且全部安装表里面的列顺序来写SQL,不然就搞不定。
所以才打算用执行计划,但执行计划的顺序又不匹配...除非写SQL的人不用AS,并且全部安装表里面的列顺序来写SQL,不然就搞不定。
#7
我觉得你花时间去找找有没有第三方软件更加实际。这个太专业了。
#8
#9
版主你说对了,最后还是决定做文本分析...不过不是第三方的,是微软的,打算用ScriptDom作解析器,列出顶层查询的别名表,建立查询中每个查询列、表与子查询的别名字典,然后一层一层分析下去,最后再和执行计划作比较,视图的问题只好先放着再说了...
#10
楼主 你最终是怎么解决的