最近几天正在改一个需求,但是这个需求需要动到一个以前写的存储过程,也就是说改存储过程(这个存储过程有500行),这种存储过程真的不长,可是对我来说是第一次自己修改,很重要的一个起点!
一开始接到这个任务的时候,我没有认真的分析这个貌似很长的SQL,我直接就加上了一句inner join,任务表面上完成了,可是第二天在测试的时候,发现速度非常的慢,原来是因为我加了那句话导致了数据增加了几倍,所以我必须再一次的修改它!
可是当我真正的想修改它的时候,发现我对待比较长的SQL时会很急躁,因为我看到了很多的表,很多的inner join,left join,这些东西让我有了些后怕,最后我还是请头帮我来分析了一下,这其中她将了很多,也让我对SQL有了一些新的认识!
她讲了我应该怎么对待比较长的SQL:
1. 不管SQL有多长,首先从心理上不能害怕,相信自己能攻克它
2. 要清楚的认识一个长的SQL都是由几个分支相互组成
3. 一步一步的分析,从上至下
4. 把SQL单独拷出来,认真分析,不要因为修改了一点就破坏了原有的SQL
5. 理解一些比较常见的SQL知识,比如inner join,left join….
这些宝贵的分析问题的方法让我明白了很多,遇到问题不能急躁,不能害怕,不能三心二意,一定要认真对待它!
学会把一个难得问题进行拆分,分成好多小问题,一个一个的解决这些小问题,不要直接解决这个大问题,因为这个大问题涉及到很多的小问题,你不可能一下的全部看明白,你需要把它细细划分,一步一步的解决这些小问题!
遇到大问题,不要一股脑子的直接去解决它,需要拆分成许多小问题,再一个一个解决!
SQL也是如此,从上至下一步一步的来,分析一段再来分析下一段,这样你才能对这个长SQL有一个整体上的把握,一定要有这样的思考问题方式,不然不能从根本上解决这些问题!
分析 → 拆分 → 分析 → 汇总 → 解决
加油…冷静的分析,相信没有什么会难倒你的,你会成功的!
总结全文,也就是把难度大的问题拆分成小的问题,各个击破,不要闷头研究,需要分析,冷静的分析真的很重要...