【基礎篇一致性讀】一致性讀分析(三)
有pub的兄弟問到index full scan的一致性讀怎麼計算,這裡簡單推一下,其實怎麼算的倒是無所謂了,理解了各種訪問方式原理就可以了,大致過程和分析如下:
SQL> show arraysize
arraysize 15
SQL> set autot traceonly;
SQL> create table t_test_ifc as select * from dba_objects a ;
表已建立。
SQL> create index ind_test_ifc1 on t_test_ifc(object_id) ;
索引已建立。
SQL>
SQL> update sys.t_test_ifc a set a.object_id = 1 where a.object_id is null ;
已更新 1 行。
SQL> select /*+ index(a)*/* from sys.t_test_ifc a
2 ;
已選擇59670行。
執行計劃
----------------------------------------------------------
Plan hash value: 3916597050
--------------------------------------------------------------------------------
-------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU
)| Time |
--------------------------------------------------------------------------------
-------------
| 0 | SELECT STATEMENT | | 63946 | 10M| 1018 (1
)| 00:00:13 |
| 1 | TABLE ACCESS BY INDEX ROWID| T_TEST_IFC | 63946 | 10M| 1018 (1
)| 00:00:13 |
| 2 | INDEX FULL SCAN | IND_TEST_IFC1 | 63946 | | 135 (2
)| 00:00:02 |
--------------------------------------------------------------------------------
-------------
Note
-----
- dynamic sampling used for this statement
統計資訊
----------------------------------------------------------
0 recursive calls
0 db block gets
8911 consistent gets
126 physical reads
0 redo size
6391010 bytes sent via SQL*Net to client
44132 bytes received via SQL*Net from client
3979 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
59670 rows processed
SQL>
SQL> select a.index_name,
2 a.index_type,
3 a.blevel,
4 a.leaf_blocks,
5 a.distinct_keys,
6 a.clustering_factor,
7 a.num_rows
8 from dba_indexes a
9 where a.table_name = upper('t_test_ifc');
INDEX_NAME INDEX_TYPE BLEVEL LEAF_BLOCKS DISTINCT_KEYS CLUSTERING_FACTOR NUM_ROWS
------------------------------ --------------------------- ---------- ----------- ------------- ----------------- ----------
IND_TEST_IFC1 NORMAL 1 132 59669 878 59669
SQL> select (59669/15)*2+817+132 from dual;
(59669/15)*2+817+132
--------------------
8904.86666666667
817是表的塊數,132是leaf block數,index full scan是掃描全部的葉塊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16179598/viewspace-668900/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【基礎篇一致性讀】一致性讀分析
- 【基礎篇一致性讀】一致性讀分析(續)
- 由讀一致性分析undo
- mysql一致性讀MySql
- redis基礎篇——資料一致性Redis
- 【MySQL】淺談一致性讀MySql
- 【一致性讀的計算】
- zt-當前模式讀與一致性讀模式
- Oracle一致性讀(consistents gets)Oracle
- ORACLE 物理讀 邏輯讀 一致性讀 當前模式讀總結淺析Oracle模式
- 讀寫一致性的一些思考
- 如何實現資料庫讀一致性資料庫
- Oracle一致性讀(Consistent Read)的原理Oracle
- MySQL e二級索引上的一致性讀MySql索引
- consistent read(讀一致性)的通俗理解
- zt_oracle一致性讀consistent readOracle
- MySQL探祕(六):InnoDB一致性非鎖定讀MySql
- consistent read(讀一致性)的通俗理解(轉)
- 分散式系統基礎-一致性雜湊分散式
- (一)基礎篇:速讀Java執行緒池Java執行緒
- .NET Core基礎篇之:配置檔案讀取
- 構造一致性CR塊讀,ORACLE需要做的工作:Oracle
- oracle中同一事務內的一致性讀Oracle
- 【基礎篇索引】索引基礎(三)索引
- 解讀爬蟲中HTTP的祕密(基礎篇)爬蟲HTTP
- 提升程式碼的可讀性系列(一)–基礎篇
- 面試必問:讀寫一致性,你需要思考的問題面試
- MySQL半一致性讀原理解析-從原始碼角度解析MySql原始碼
- 從MongoDBReplicaSetHA看分散式系統讀寫一致性問題MongoDB分散式
- 轉:Oracle資料庫一致性讀的原理(Consistent Read)Oracle資料庫
- 參考oracle官方文件關於髒讀、一致性讀、undo中已提交資料塊的理解Oracle
- 深度剖析 | 關於資料鎖定和讀取一致性問題
- MySQL事務(二)事務隔離的實現原理:一致性讀MySql
- 解讀MySQL雙主複製的主備資料一致性GPMySql
- C語言讀取寫入CSV檔案 [一]基礎篇C語言
- 《Django基礎教程》讀後感Django
- 《Hadoop基礎教程》 試讀Hadoop
- 資料分析從零開始實戰 | 基礎篇(三)