日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 修改聚簇因子,Oracle 基础篇 --- 聚簇因子(clustering_factor)

發布時間:2025/1/21 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 修改聚簇因子,Oracle 基础篇 --- 聚簇因子(clustering_factor) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

####4.2.1 聚簇因子(clustering_factor)

統計幫助優化器生成使用索引的成功信息,并且是表中建立了索引的數據排序優良度的一個度量值;向優化器表明了具有同樣索引值的數據行是不是存放在同一個或連續的一系列數據塊中,或者數據行是否被分散存放在表的多個數據塊中。

查看索引的聚簇因子

select T.TABLE_NAME || '.' || I.INDEX_NAME index_name, I.CLUSTERING_FACTOR, T.BLOCKS, T.NUM_ROWS

from user_indexes i, user_tables t

where I.TABLE_NAME = T.TABLE_NAME

and T.TABLE_NAME = 'EMPLOYEES'

and I.INDEX_NAME = 'EMP_DEPARTMENT_IX'

order by T.TABLE_NAME, I.INDEX_NAME;

INDEX_NAME CLUSTERING_FACTOR BLOCKS NUM_ROWS

------------------------------ ----------------- ---------- ----------

EMPLOYEES.EMP_DEPARTMENT_IX 9 5 109

計算索引的聚簇因子

select department_id, last_name, blk_no,

lag (blk_no, 1, blk_no) over (order by department_id) prev_blk_no,

case when blk_no != lag (blk_no, 1, blk_no) over (order by department_id) or rownum = 1

then '*** +1'

else null

end cluf_ct

from (

select department_id, last_name,

DBMS_ROWID.ROWID_BLOCK_NUMBER(rowid) blk_no

from HR.EMPLOYEES

where department_id is not null

order by department_id

);

DEPARTMENT_ID LAST_NAME BLK_NO PREV_BLK_NO CLUF_CT

------------- ------------------------- ---------- ----------- -------

10 Whalen 203 203 *** +1

20 Hartstein 203 203

20 Fay 203 203

30 Raphaely 207 203 *** +1

30 Colmenares 207 207

30 Khoo 207 207

........

40 Mavris 203 207 *** +1

50 Grant 203 203

........

50 Cabrio 207 203 *** +1

........

60 Raphealy 205 207 *** +1

60 Raphealy1 205 205

60 Austin 207 205 *** +1

60 Ernst 207 207

60 Hunold 207 207

70 Baer 203 207 *** +1

80 Hall 207 203 *** +1

80 Livingston 207 207

........

100 Greenberg 207 207

110 Higgins 203 207 *** +1

110 Gietz 203 203

107 rows selected.

注: 如果你開始考慮重建表來改進聚簇因子,你需要很小心。表一般都有多個索引。你不可能通過重建表的方法使其排序方式適合某個索引而不影響其他列上的索引。因此,重建可能幫組改進了一個索引卻破壞了其他的索引。并且,重建表通常是非常耗費時間和資源的過程,因為你今天按照一定的順序重建了表并不意味著隨著時間的推移,數據行插入、更新或刪除之后還能保持這樣的順序。

總結

以上是生活随笔為你收集整理的oracle 修改聚簇因子,Oracle 基础篇 --- 聚簇因子(clustering_factor)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。