原文写于2010年2月15日
事情是这样的,由于某些原因,做了一个视图,视图包含表A和表B,其中表A是原来的表,B是新建的表,经测试后把表B中的数据插入到了表A中,然后再次查询该视图(这时候表B中的数据还没有删掉,表B也还在视图里面),发现数据居然和将B表数据插入到A表前一样。
觉得十分诧异,怀疑没有提交或者缓存等方面的原因,请同事帮忙看,也没找到原因,无奈只好去找DBA,DBA研究了一会,告诉我说,你这个视图是UNION,不是UNION ALL。
原来如此。
本文通过一个实际案例讲述了在数据库操作中使用视图时,UNION 和 UNION ALL 的不同之处。作者在将两个表的数据进行整合时遇到了问题,最终在 DBA 的帮助下找到了原因在于视图使用的 UNION 操作。
原文写于2010年2月15日
事情是这样的,由于某些原因,做了一个视图,视图包含表A和表B,其中表A是原来的表,B是新建的表,经测试后把表B中的数据插入到了表A中,然后再次查询该视图(这时候表B中的数据还没有删掉,表B也还在视图里面),发现数据居然和将B表数据插入到A表前一样。
觉得十分诧异,怀疑没有提交或者缓存等方面的原因,请同事帮忙看,也没找到原因,无奈只好去找DBA,DBA研究了一会,告诉我说,你这个视图是UNION,不是UNION ALL。
原来如此。

被折叠的 条评论
为什么被折叠?