您的位置:首页 > 其它

小心,分析问题时的思维惯性

2013-05-28 21:01 267 查看
今天帮同事分析个问题,半天没想出来,后来别人分析出来了,真是惭愧。。。。。回过头想想自己为什么没有分析出来,终于找到元凶:思维惯性!!!!下面简单介绍下这个问题:

有段逻辑,是这样的-----

有个数据源,会不定时向test表写入id=2的数据

1. update test set id=5 where not exists(集合A) ;--id原来为2

2. 取test表中id为2的行,更新id=3;

3. update test set id=4 where id=3 and
exists(集合A)

以上逻辑处理完毕后,发现test表中还有id=3的数据,这看似严谨的逻辑到底哪里出了问题呢?

原来是执行步骤1时,test表中还没有数据,执行步骤2时,test表才有数据,这样 not exists(集合A) 的数据就没有被更新为5,只被更新为3留了下来。。。。。。

一开始分析的时候看到test表中有数据,就惯性的认为执行步骤1时test表中也有数据,导致没有找到问题的根源,还一直认为可能是数据源来的数据有问题。所以告诫大家分析问题时,一定要小心惯性思维,再就是不要一开始就认为是其他系统有问题,这样就会禁锢你的思维。。。。。。切记切记
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: