nologging對delete以及update效果不大
Table created.
SQL> begin for i in 1..10000 loop
2 insert into a select i from dual;
3 end loop;
4 commit;
5 end;
6 /
PL/SQL procedure successfully completed.
SQL> insert into a select * from a;
10000 rows created.
SQL> desc a;
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(38)
SQL> begin for i in 1..10000 loop
2 insert into a select i from dual;
3 end loop;
4 commit;
5 end;
6 /
PL/SQL procedure successfully completed.
SQL> select count(*) from a;
COUNT(*)
----------
10000
SQL>
SQL> set autotrace traceonly;
SQL>
----------
--insert
SQL>insert into a select * from a;
10000 rows created.
Execution Plan
----------------------------------------------------------
0 INSERT STATEMENT ptimizer=ALL_ROWS (Cost=8 Card=20000 Bytes
=260000)
1 0 TABLE ACCESS (FULL) OF 'A' (TABLE) (Cost=8 Card=20000 Byte
s=260000)
Statistics
----------------------------------------------------------
58 recursive calls
10238 db block gets
3284 consistent gets
0 physical reads
2373796 redo size
643 bytes sent via SQL*Net to client
538 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
10000 rows processed
SQL>insert into a nologging select * from a;
10000 rows created.
Execution Plan
----------------------------------------------------------
0 INSERT STATEMENT ptimizer=ALL_ROWS (Cost=8 Card=20000 Bytes
=260000)
1 0 TABLE ACCESS (FULL) OF 'A' (TABLE) (Cost=8 Card=20000 Byte
s=260000)
Statistics
----------------------------------------------------------
5 recursive calls
10193 db block gets
10101 consistent gets
0 physical reads
2370584 redo size
643 bytes sent via SQL*Net to client
548 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
10000 rows processed
SQL> rollback;
Rollback complete.
SQL>insert /*+ append */ into a nologging select * from a;
10000 rows created.
Execution Plan
----------------------------------------------------------
Statistics
----------------------------------------------------------
93 recursive calls
45 db block gets
94 consistent gets
0 physical reads
136144 redo size
627 bytes sent via SQL*Net to client
562 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
1 sorts (memory)
0 sorts (disk)
10000 rows processed
SQL>
SQL>
SQL> rollback;
---------------
--delete
SQL>delete from a;
10000 rows deleted.
Execution Plan
----------------------------------------------------------
0 DELETE STATEMENT ptimizer=ALL_ROWS (Cost=1 Card=1 Bytes=3)
1 0 DELETE OF 'A'
2 1 INDEX (FULL SCAN) OF 'SYS_C005064' (INDEX (UNIQUE)) (Cos
t=1 Card=1 Bytes=3)
Statistics
----------------------------------------------------------
9 recursive calls
10450 db block gets
24 consistent gets
0 physical reads
2540712 redo size
642 bytes sent via SQL*Net to client
522 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
2 sorts (memory)
0 sorts (disk)
10000 rows processed
SQL> rollback;
Rollback complete.
SQL>delete from a nologging;
10000 rows deleted.
Execution Plan
----------------------------------------------------------
0 DELETE STATEMENT ptimizer=ALL_ROWS (Cost=1 Card=1 Bytes=3)
1 0 DELETE OF 'A'
2 1 INDEX (FULL SCAN) OF 'SYS_C005064' (INDEX (UNIQUE)) (Cos
t=1 Card=1 Bytes=3)
Statistics
----------------------------------------------------------
1 recursive calls
10437 db block gets
19 consistent gets
0 physical reads
2534564 redo size
642 bytes sent via SQL*Net to client
532 bytes received via SQL*Net from client
3 SQL*Net roundtrips to/from client
2 sorts (memory)
0 sorts (disk)
10000 rows processed
結論:在非force logging情況下,delete、update的命令使用nologging效果不大,insert的時候配合append效果明顯
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13177610/viewspace-684562/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Hive學習筆記 ---- 支援Update和Delete以及MergeHive筆記delete
- java-Mybatis XML 對映器(select,insert, update 和 delete)JavaMyBatisXMLdelete
- SQLite語句(二):INSERT DELETE UPDATE SELECTSQLitedelete
- Sqlserver update\delete用inner join關聯,會update\delete關鍵字後面的表關聯到的行SQLServerdelete
- sql server 帶有OUTPUT的INSERT,DELETE,UPDATESQLServerdelete
- DBeaver如何生成select,update,delete,insert語句delete
- MySQL資料災難挽救之Delete\UpdateMySqldelete
- mssql sqlserver update delete表別名用法簡介SQLServerdelete
- 利用insert,update和delete注入獲取資料delete
- mysql 在delete、insert、update 時,page的變化MySqldelete
- KunlunDB功能之insert/update/delete...returning語句delete
- Nologging對恢復的影響(二)
- Nologging對恢復的影響(一)
- 比CRUD多一點兒(三):UPDATE、DELETE語句delete
- 輕量ORM-SqlRepoEx (四)INSERT、UPDATE、DELETE 語句ORMSQLdelete
- SQL Server的Merge —— 一步實現 insert,update,deleteSQLServerdelete
- Thinkphp 3.2.3 parseWhere設計缺陷導致update/delete注入 分析PHPdelete
- 單表的更新UPDATE和刪除記錄DELETE(二十六)delete
- PostgreSQL,SQLServer邏輯增量(通過邏輯標記update,delete)同步到Greenplum,PostgreSQLSQLServerdelete
- 用ASP.NET Core 2.0 建立規範的 REST API -- DELETE, UPDATE, PATCH 和 LogASP.NETRESTAPIdelete
- Java開發對於新手來說難度大不大?Java
- 網站建設對於企業的作用大不大?網站
- alter table nologging /*+APPEND PARALLEL(n)*/APPParallel
- MyBatis(五) insert、update、delete 、主鍵回填、返回matched行數和affected行數、引數配置#{},${}MyBatisdelete
- CSS 對勾效果CSS
- nologging、force logging、supplemental log的理解
- 【DATAGUARD】Oracle Dataguard nologging 塊修復Oracle
- Sqlserver、oracle中Merge的使用方法,一個merge語句搞定多個Insert,Update,Delete操作SQLServerOracledelete
- Piper Jaffray:調查顯示使用者對2019款iPhone興趣不大iPhone
- JavaScript deleteJavaScriptdelete
- URLSearchParams delete()delete
- FormData delete()ORMdelete
- 日誌記錄模式(LOGGING 、FORCE LOGGING 、NOLOGGING)模式
- Java開發需求大不大?Java
- Map delete() 方法delete
- WeakMap delete() 方法delete
- WeakSet delete() 方法delete
- SQL__DELETESQLdelete
- Set delete() 方法delete