中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ORACLE數據庫之大數據量TRUNCATE和DELETE操作對表空間的影響

發布時間:2020-08-05 02:58:02 來源:ITPUB博客 閱讀:600 作者:smilesu 欄目:關系型數據庫

--1、創建測試表

create table cux.cux_test_data as

select * from GL_JE_HEADERS;

--2、查看數據條數

select count(1) from cux.cux_test_data;

ORACLE數據庫之大數據量TRUNCATE和DELETE操作對表空間的影響

--3、查看區塊大小

SELECT segment_name

      ,extents

      ,blocks

      ,initial_extent  

FROM   dba_segments

WHERE  segment_name = 'CUX_TEST_DATA';

  ORACLE數據庫之大數據量TRUNCATE和DELETE操作對表空間的影響

--4、刪除表,采用truncate方式

truncate table cux.cux_test_data;

--查看數據塊大小

SELECT segment_name

      ,extents

      ,blocks

      ,initial_extent  

FROM   dba_segments

WHERE  segment_name = 'CUX_TEST_DATA';

  ORACLE數據庫之大數據量TRUNCATE和DELETE操作對表空間的影響

由此可見truncate會清除表所占數據塊的大小;

--5、刪除表,采用delete方式

  首先對測試表進行重新插入操作,查得數據塊大小如下:

ORACLE數據庫之大數據量TRUNCATE和DELETE操作對表空間的影響

執行刪除操作:

delete from cux.cux_test_data;

再次查詢表所占數據塊大小如下:

ORACLE數據庫之大數據量TRUNCATE和DELETE操作對表空間的影響

可看出,所占數據塊并沒有變動;

--當delete完數據之后,再往測試表中插入100萬條數據,再次查詢數據塊大小如下:

ORACLE數據庫之大數據量TRUNCATE和DELETE操作對表空間的影響

發現跟刪除前一樣,也就是說當delete相關的數據之后,再插入數據如果比刪之前的數據小,則表空間分布不會變;當插入的數據比刪之前多時,才會增加數據塊大小;

--6、采用SHRINK和MOVE方式去收縮表空間

ALTER TABLE cux.cux_test_data MOVE;  --降低水位線,釋放表空間

注意:alter table move命令可以釋放空間,該操作期間會鎖表;

而且會導致索引失效,如果該表有索引,還需要進行索引重建操作,重建索引腳本如下:

ALTER INDEX XXX REBUILD ONLINE;  --重建索引

alter table cux.cux_test_data enable row movement; --啟用行遷移

alter table cux.cux_test_data shrink;--降低水位線

上述兩步種方式收縮完之后,表空間已釋放

ORACLE數據庫之大數據量TRUNCATE和DELETE操作對表空間的影響

結論:

1、TRUNCATE刪除表會直接釋放表空間;

2、DELETE刪除表不會釋放表空間,若要釋放,可采用SHRINK和MOVE方式進行收縮。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

靖安县| 准格尔旗| 宝应县| 惠来县| 成安县| 舟山市| 辛集市| 南宫市| 信阳市| 汽车| 平利县| 蛟河市| 永平县| 巴林左旗| 凤凰县| 顺义区| 永嘉县| 镇巴县| 大田县| 五指山市| 海伦市| 鞍山市| 赤壁市| 郸城县| 武宁县| 淮阳县| 龙游县| 遂昌县| 甘南县| 灯塔市| 若羌县| 和硕县| 广州市| 三明市| 高碑店市| 榆林市| 上蔡县| 金秀| 盐亭县| 和林格尔县| 黔西县|