2. 以append方式批量插入的记录其存储位置在hwm 之上,即使hwm之下存在空闲块也不能使用
(HWM(高水位线)(High Water Mark):是数据库段管理中的一个重要概念,简单来说HWM就是在段中已经使用和没囿使用的块的分界线在oracle请求空间的时候,如果现有的Freelist中没有足够的空间时HWM指向的块将被标记为已使用并且HWM将移动到下一个未使用的块。)
3. 以append方式插入记录后要执行commit,才能对表进行查询否则会出现错误:
ORA-12838:无法在并行模式下修改之后读/修改对象
4. 在归档模式下,要把表設置为nologging然后以append方式批量添加记录,才会显著减少redo数量在非归档模式下,不必设置表的 nologging属性即可减少redo数量。如果表上有索引则append方式批量添加记录,不会减少索引上产生的redo数量索引上的redo 数量可能比表的redo数量还要大。
5. 同 nologging 配合会更快的使用新的BLOCK而不使用FREELIST中的块来增加插叺速度,使用这个hint可以将数据使用直接路径插入到表的高水线之后由于是连续的没有使用的空间,所以插入速度快就是说直接插入,減少了搜索块的时间
会在一定程度上造成空间浪费
SQL语句中的优化提示