如何轉儲B*Tree索引的分枝結構(轉)
http://www.eygle.com/archives/2005/02/ecibtreeeeoaeoe.html
Oracle允許對B*Tree索引進行轉儲,以顯示B*Tree的層次結構。
示例如下:
1.首先選擇要研究的索引
SQL> select index_name from user_indexes where index_name='I_BD_INVMANDOC_TS'; INDEX_NAME ------------------------------ I_BD_INVMANDOC_TS |
2.找到該索引的object_id
SQL> select object_id from dba_objects where object_name='I_BD_INVMANDOC_TS'; OBJECT_ID ---------- 6393 |
3.轉儲該索引結構
SQL> ALTER SESSION SET EVENTS 'immediate trace name TREEDUMP level 6393'; Session altered. |
4.現在是trace檔案中的片斷
我們可以看到該索引共有三個層次,每個leaf上大約有341條記錄.
*** 2005-02-26 10:52:11.458 ----- begin tree dump branch: 0x1403d9c 20987292 (0: nrow: 5, level: 2) branch: 0x1403f07 20987655 (-1: nrow: 351, level: 1) leaf: 0x1403d9d 20987293 (-1: nrow: 341 rrow: 341) leaf: 0x1403d9e 20987294 (0: nrow: 341 rrow: 341) leaf: 0x1403d9f 20987295 (1: nrow: 341 rrow: 341) ...... leaf: 0x1403f00 20987648 (344: nrow: 341 rrow: 341) leaf: 0x1403f01 20987649 (345: nrow: 341 rrow: 341) leaf: 0x1403f02 20987650 (346: nrow: 341 rrow: 341) leaf: 0x1403f03 20987651 (347: nrow: 341 rrow: 341) leaf: 0x1403f04 20987652 (348: nrow: 341 rrow: 341) leaf: 0x1403f05 20987653 (349: nrow: 341 rrow: 341) branch: 0x140406c 20988012 (0: nrow: 350, level: 1) leaf: 0x1403f06 20987654 (-1: nrow: 341 rrow: 341) leaf: 0x1403f08 20987656 (0: nrow: 341 rrow: 341) leaf: 0x1403f0a 20987658 (1: nrow: 341 rrow: 341) leaf: 0x1403f0b 20987659 (2: nrow: 341 rrow: 341) leaf: 0x1403f0c 20987660 (3: nrow: 341 rrow: 341) leaf: 0x1403f0d 20987661 (4: nrow: 341 rrow: 341) ... leaf: 0x1404067 20988007 (345: nrow: 341 rrow: 341) leaf: 0x1404068 20988008 (346: nrow: 341 rrow: 341) leaf: 0x1404069 20988009 (347: nrow: 341 rrow: 341) leaf: 0x140406a 20988010 (348: nrow: 341 rrow: 341) branch: 0x14041d1 20988369 (1: nrow: 350, level: 1) leaf: 0x140406b 20988011 (-1: nrow: 341 rrow: 341) leaf: 0x140406d 20988013 (0: nrow: 341 rrow: 341) leaf: 0x140406e 20988014 (1: nrow: 341 rrow: 341) ... leaf: 0x14041ce 20988366 (347: nrow: 341 rrow: 341) leaf: 0x14041cf 20988367 (348: nrow: 341 rrow: 341) branch: 0x1404336 20988726 (2: nrow: 351, level: 1) leaf: 0x14041d0 20988368 (-1: nrow: 341 rrow: 341) leaf: 0x14041d2 20988370 (0: nrow: 341 rrow: 341) leaf: 0x14041d3 20988371 (1: nrow: 341 rrow: 341) ... leaf: 0x1404332 20988722 (347: nrow: 341 rrow: 341) leaf: 0x1404333 20988723 (348: nrow: 341 rrow: 341) leaf: 0x1404334 20988724 (349: nrow: 341 rrow: 341) branch: 0x140446f 20989039 (3: nrow: 308, level: 1) leaf: 0x1404335 20988725 (-1: nrow: 341 rrow: 341) leaf: 0x1404337 20988727 (0: nrow: 341 rrow: 341) leaf: 0x1404338 20988728 (1: nrow: 341 rrow: 341) leaf: 0x1404339 20988729 (2: nrow: 341 rrow: 341) ... leaf: 0x140446c 20989036 (304: nrow: 341 rrow: 341) leaf: 0x140446d 20989037 (305: nrow: 341 rrow: 341) leaf: 0x140446e 20989038 (306: nrow: 73 rrow: 73) ----- end tree dump |
通過這個跟蹤可以清楚地看到B*Tree索引的結構,有助於加深對於B*Tree索引的理解。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/756652/viewspace-242193/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL Page頁結構解析(5)- B-Tree索引儲存結構#1SQL索引
- PostgreSQL Page頁結構解析(6)- B-Tree索引儲存結構#2SQL索引
- PostgreSQL Page頁結構解析(7)- B-Tree索引儲存結構#3SQL索引
- 資料的儲存結構淺析LSM-Tree和B-tree
- B-tree索引索引
- PostgreSQL的B-tree索引SQL索引
- 【Java面試】Mysql為什麼使用B+Tree作為索引結構Java面試MySql索引
- B-tree和B+tree 一種為資料查詢而生的結構
- MySQL探索(一):B-Tree索引MySql索引
- MySQL 效能優化——B+Tree 索引MySql優化索引
- 為什麼選擇b+樹作為儲存引擎索引結構儲存引擎索引
- 關於轉儲Oracle索引資訊的相關命令Oracle索引
- PHP 陣列轉樹結構/樹結構轉陣列PHP陣列
- 技術分享 | LSM-Tree 和 OceanBase 分層轉儲
- 《MySQL 基礎篇》十一:索引的儲存結構MySql索引
- 理解SQL Server 2008索引的儲存結構YDSQLServer索引
- MySQL的B+Tree索引到底是咋回事?聚簇索引到底是如何長高的?MySql索引
- c# 構造tree下拉框,空格轉化C#
- SAP轉儲單全面總結
- 詳解資料庫儲存的資料結構LSM Tree資料庫資料結構
- 監控索引的使用(轉)索引
- JS從扁平array轉treeJS
- MySQL的索引為什麼用B+Tree?InnoDB的資料儲存檔案和MyISAM的有何不同?MySql索引
- oracle體系結構(轉)Oracle
- PG12-2 B-Tree 索引 level 0 root頁索引
- PG 12-2 B-Tree 索引 分析 分裂 level = 1索引
- MySQL索引的結構MySql索引
- 資料結構-Tree資料結構
- 【MySQL(1)| B-tree和B+tree】MySql
- [轉]如何儲存Windows聚焦的鎖屏桌布Windows
- Matlab轉python的索引問題MatlabPython索引
- layui tree資料格式轉換UI
- Mysql索引資料結構為什麼是B+樹?MySql索引資料結構
- golang json字串轉結構體GolangJSON字串結構體
- C++ - 結構體轉cha*C++結構體
- 多路查詢樹:B-tree/b+tree
- LayUI—tree樹形結構的使用UI
- 如何避免SHRINKDATABASE & SHRINKFILE 產生索引碎片(轉載)Database索引