驗(yàn)證堆表(heap table)存儲方式
大理州ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
堆表(heap table)的存儲方式:
Oralce 數(shù)據(jù)庫系統(tǒng)中最普通,最為常用的即為堆表。
堆表的數(shù)據(jù)存儲方式為無序存儲,也就是任意的DML操作都可能使得當(dāng)前數(shù)據(jù)塊存在可用的空閑空間。
處于節(jié)省空間的考慮,塊上的可用空閑空間會被新插入的行填充,而不是按順序填充到最后被使用的塊上。
上述的操作方式導(dǎo)致了數(shù)據(jù)的無序性的產(chǎn)生。
當(dāng)創(chuàng)建索引時(shí),會根據(jù)指定的列按順序來填充到索引塊,缺省的情況下為升序。
新建或重建索引時(shí),索引列上的順序是有序的,而表上的順序是無序的,也就是存在了差異,即表現(xiàn)為聚簇因子。
驗(yàn)證:
1、創(chuàng)建table
SQL> conn scott/tiger
Connected.
SQL> create table t1
2 (a int,
3 b varchar2(4000) default rpad('*',4000,'*'),
4 c varchar2(3000) default rpad('*',3000,'*')
5 )
6 /
Table created.
SQL> desc t1
Name Null? Type
----------------------------------------- -------- ----------------------------
A NUMBER(38)
B VARCHAR2(4000)
C VARCHAR2(3000)
2、插入數(shù)據(jù)
SQL> insert into t1(a) values (1);
1 rows created;
SQL> insert into t1(a) values (2);
1 rows created;
SQL> insert into t1(a) values (3);
1 rows created;
SQL> select a from t1;
A
----------
1
2
3
3、刪除一行數(shù)據(jù)
SQL> delete from t1 where a=2;
1 row deleted.
SQL> select a from t1;
A
----------
1
3
4、再重新插入一行記錄
SQL> insert into t1(a) values (4);
1 row created.
SQL> select a from t1;
A
----------
1
4
3
從以上可以看出,數(shù)據(jù)插入并不是按順序插入,而是使用了原來被刪除的那條記錄的空間!