CHAIN_CNT:虽然行链接和行迁移的概念不同,但在ORACLE里其实不太分这个,CHAIN_CNT是总的数量
PCTFREE:
PCTFREE:为一个块保留的空间百分比,表示数据块在什么情况下可以被insert,默认是10,表示当数据块的可用空间低于10%后,就不可以被insert了,只能被用于update;即:
当使用一个block时,在达到pctfree之前,该block是一直可以被插入的,这个时候处在上升期。
create table TEST_1
(
OWNER VARCHAR2(30),
OBJECT_NAME VARCHAR2(128),
SUBOBJECT_NAME VARCHAR2(30),
OBJECT_ID NUMBER,
DATA_OBJECT_ID NUMBER,
OBJECT_TYPE VARCHAR2(19),
CREATED DATE,
LAST_DDL_TIME DATE,
TIMESTAMP VARCHAR2(19),
STATUS VARCHAR2(7),
TEMPORARY VARCHAR2(1),
GENERATED VARCHAR2(1),
SECONDARY VARCHAR2(1),
NAMESPACE NUMBER,
EDITION_NAME VARCHAR2(30)
)
tablespace USERS
pctfree 0
initrans 1
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
SQL> select
owner ,
table_name ,
pct_free ,
pct_used ,
avg_row_len ,
num_rows ,
chain_cnt ,
chain_cnt/num_rows
from
dba_tables
where
table_name='TEST_1'
order by
chain_cnt desc; 2 3 4 5 6 7 8 9 10 11 12 13 14 15
OWNER TABLE_NAME PCT_FREE PCT_USED AVG_ROW_LEN NUM_ROWS CHAIN_CNT CHAIN_CNT/NUM_ROWS
------------------------------ ------------------------------ ---------- ---------- ----------- ---------- ---------- ------------------
SCOTT TEST_1 0
pct_free=0 稍微update一下就产生hang迁移
DECLARE
CURSOR cur IS
SELECT
a.ROWID from test_1 a ;
V_COUNTER NUMBER;
BEGIN
V_COUNTER := 0;
FOR row IN cur LOOP
UPDATE test_1
SET OBJECT_ID = 9999
,OBJECT_NAME='AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'
WHERE ROWID = row.ROWID ;
V_COUNTER := V_COUNTER + 1;
IF (V_COUNTER >= 10000) THEN
COMMIT;
V_COUNTER := 0;
END IF;
END LOOP;
COMMIT;
END;
批量update
SQL> analyze table TEST_1 compute statistics;
SQL> set linesize 200
SQL> select
owner ,
table_name ,
pct_free ,
pct_used ,
avg_row_len ,
num_rows ,
chain_cnt ,
chain_cnt/num_rows
from
dba_tables
where
table_name='TEST_1'
order by
chain_cnt desc;
2 3 4 5 6 7 8 9 10 11 12 13 14 15
OWNER TABLE_NAME PCT_FREE PCT_USED AVG_ROW_LEN NUM_ROWS CHAIN_CNT CHAIN_CNT/NUM_ROWS
------------------------------ ------------------------------ ---------- ---------- ----------- ---------- ---------- ------------------
SCOTT TEST_1 0 170 8886376 5059910 .569400845
行链接和行迁移
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
行链接与行迁移
这两种情况下,表中的行可能对一个数据块来说太大了,
行链接 行迁移 数据块 oracle 数据 -
(转)oracle行链接和行迁移的秘密
556/此文甚佳
hive php -
模仿行迁移和行链接以及解决办法
琢磨了2天的行链接和行迁移的模仿终于告一段落,赶紧记之,与君分享,嘎嘎!
迁移 解决 办法 链接 模仿