一个20万的数据执行update时,据说可能会自动更新一些数据,不知道是不是真的

解决方案 »

  1.   

    你所说的自动更新数据,这个自动更新的数据:
    我们应该从Oracle系统的数据字典开始来说:
    1.一般数据字典包括基础表,动态视图,以及和数据字典视图。
    2.基础表存储相关数据库信息的表,这些数据库信息包括表,索引,约束,以及所有其他数据库对象结构的信息。
    它们属于SYS用户,存储在系统表空间。这些信息是Oracle通过运行SQL脚本自动创建和更新的。只有Oracle本身才能读/写这些表.而且是加密处理的。
    3.现在说说系统中的回滚表空间,回滚表空间是一个特殊的表空间,此表空间用来存储数据库中用来回滚的数据。
    例如:当你更新数据后,但是还没有执行Commit时。你的这个要更新的20万条数据会都存储在回滚表空。这个写入或则是更新是Oracle通过SQL脚本来执行的。
    4.Oracle在系统表空间的系统模式对象中还记录了你这个用户的当前所以操作。
      

  2.   

    你说的自动更新时不是说更新数据库信息。
    执行update时候会修改一些数据字典信息。
      

  3.   

    我想问的是在执行update时,一旦数据量很大的话(比如几十万),会不会就直接先提交一部分