insert /*+ append */ into一定会比insert into好吗?

    在速度上面大家都清楚直接加载插入数据确实比insert into快多了,但是如果在业务很麻烦的表这样做,估计会付出很大的性能甚至夯机的代价,
也许开发追求快,但是作为DB,要考虑在性能的基础上来追求卓越的速度

SQL> explain plan for insert /*+ append */ into t_app select * from t_app;
Explained.
SQL> select * from  table(dbms_xplan.display());
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------------------
Plan hash value: 3648959745
----------------------------------------------------------------------------
| Id  | Operation          | Name  | Rows  | Bytes | Cost (%CPU)| Time     |
----------------------------------------------------------------------------
|   0 | INSERT STATEMENT   |       | 23616 |  3643K|    99   (2)| 00:00:02 |
|   1 |  LOAD AS SELECT    | T_APP |       |       |            |          |===>直接加载的对表的操作是LOAD AS SELECT
|   2 |   TABLE ACCESS FULL| T_APP | 23616 |  3643K|    99   (2)| 00:00:02 |
----------------------------------------------------------------------------

SQL> explain plan for insert into t_noapp select * from t_noapp;
Explained.
SQL> select * from  table(dbms_xplan.display());
Plan hash value: 3980433360
------------------------------------------------------------------------------------
| Id  | Operation                | Name    | Rows  | Bytes | Cost (%CPU)| Time     |
------------------------------------------------------------------------------------
|   0 | INSERT STATEMENT         |         | 25301 |  3903K|    99   (2)| 00:00:02 |
|   1 |  LOAD TABLE CONVENTIONAL | T_NOAPP |       |       |            |          |====>普通insert对表的操作:LOAD TABLE CONVERTIONAL
|   2 |   TABLE ACCESS FULL      | T_NOAPP
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值