摘要:《Truncate table one or million rows》
See a problem on itPUB, whim want to verify;
The question is how much time truncate table to millions of pieces of data, the moderator asked how much time you want to truncate table 2 pen data.
My teacher said truncate table is the high water mark from a high return back into place, the data is not deleted;
That time should truncate table, like it! Do a little experiment!
SQL> CREATE TABLE TINGTEST AS SELECT * FROM DBA_OBJECTS;
已建立表格.
SQL> CREATE TABLE TINGTEST2 AS SELECT * FROM DBA_OBJECTS WHERE ROWNUM<2;
已建立表格.
SQL> SELECT COUNT(*) FROM TINGTEST;
COUNT(*)
----------
44264
SQL> INSERT INTO TINGTEST SELECT * FROM TINGTEST;
已建立 44264 个数据列.
SQL> INSERT INTO TINGTEST SELECT * FROM TINGTEST;
已建立 88528 个数据列.
SQL> INSERT INTO TINGTEST SELECT * FROM TINGTEST;
已建立 177056 个数据列.
SQL> INSERT INTO TINGTEST SELECT * FROM TINGTEST;
已建立 354112 个数据列.
SQL> INSERT INTO TINGTEST SELECT * FROM TINGTEST;
已建立 708224 个数据列.
SQL> INSERT INTO TINGTEST SELECT * FROM TINGTEST;
已建立 1416448 个数据列.
SQL> INSERT INTO TINGTEST SELECT * FROM TINGTEST;
已建立 2832896 个数据列.
SQL> COMMIT;
确认完成.
SQL> SELECT COUNT(*) FROM TINGTEST;
COUNT(*)
----------
5665792
SQL> SELECT COUNT(*) FROM TINGTEST2;
COUNT(*)
----------
1
SQL> SET TIMING ON
SQL> TRUNCATE TABLE TINGTEST;
表格被截断.
目前历时: 00:00:00.02
SQL> TRUNCATE TABLE TINGTEST2;
表格被截断.
目前历时: 00:00:00.00
It seems summarize large data table is quite slow, but very quickly is an indisputable fact!
Original: Big Box "Truncate table one or million rows"