執行資訊統計後沒有使用索引
SQL> conn system/yang as sysdba
已連線。
SQL> create table t1 as select * from dba_objects
2 where wner='SYS'
3 and object_type not like '%BODY'
4 and object_type not like '%JAVA%';
表已建立。
SQL> set timing on
SQL> create table t2 as select * from dba_segments where wner='SYS';
表已建立。
已用時間: 00: 00: 00.34
SQL> create table t3 as select * from dba_indexes where wner='SYS';
表已建立。
已用時間: 00: 00: 00.51
SQL> select count(*) from t2;
COUNT(*)
----------
2087
已用時間: 00: 00: 00.06
SQL> select count(*) from t3;
COUNT(*)
----------
1060
已用時間: 00: 00: 00.03
SQL> alter table t1 add constraint pk_t1 primary key (object_name);
alter table t1 add constraint pk_t1 primary key (object_name)
*
第 1 行出現錯誤:
ORA-02437: 無法驗證 (SYS.PK_T1) - 違反主鍵
SQL> create index i_t1 on t1 t1(object_id);
索引已建立。
已用時間: 00: 00: 00.11
SQL> set autot on
SQL> select count (*) from t1;
COUNT(*)
----------
7909
已用時間: 00: 00: 00.01
執行計劃
----------------------------------------------------------
Plan hash value: 3724264953
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 29 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| T1 | 8165 | 29 (0)| 00:00:01 |
-------------------------------------------------------------------
Note
-----
- dynamic sampling used for this statement
統計資訊
----------------------------------------------------------
28 recursive calls
0 db block gets
178 consistent gets
0 physical reads
0 redo size
420 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> analyze table t1 compute statistics;
表已分析。
已用時間: 00: 00: 00.20
SQL> select count (*) from t1;
COUNT(*)
----------
7909
已用時間: 00: 00: 00.01
執行計劃
----------------------------------------------------------
Plan hash value: 3724264953
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 29 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| T1 | 7909 | 29 (0)| 00:00:01 |
-------------------------------------------------------------------
統計資訊
----------------------------------------------------------
1 recursive calls
0 db block gets
105 consistent gets
0 physical reads
0 redo size
420 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> ALTER SESSION SET optimizer_mode=first_rows;
會話已更改。
已用時間: 00: 00: 00.00
SQL> select count (*) from t1;
COUNT(*)
----------
7909
已用時間: 00: 00: 00.00
執行計劃
----------------------------------------------------------
Plan hash value: 3724264953
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 29 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| T1 | 7909 | 29 (0)| 00:00:01 |
-------------------------------------------------------------------
統計資訊
----------------------------------------------------------
1 recursive calls
0 db block gets
105 consistent gets
0 physical reads
0 redo size
420 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> ALTER SESSION SET optimizer_mode=choose;
會話已更改。
已用時間: 00: 00: 00.00
SQL> select count (*) from t1;
COUNT(*)
----------
7909
已用時間: 00: 00: 00.00
執行計劃
----------------------------------------------------------
Plan hash value: 3724264953
-------------------------------------------------------------------
| Id | Operation | Name | Rows | Cost (%CPU)| Time |
-------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 29 (0)| 00:00:01 |
| 1 | SORT AGGREGATE | | 1 | | |
| 2 | TABLE ACCESS FULL| T1 | 7909 | 29 (0)| 00:00:01 |
-------------------------------------------------------------------
統計資訊
----------------------------------------------------------
1 recursive calls
0 db block gets
105 consistent gets
0 physical reads
0 redo size
420 bytes sent via SQL*Net to client
416 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> spool off
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-668546/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- _optimizer_invalidation_periond導致收集統計資訊後執行計劃沒有改變
- 使用dbms_stats列出沒有統計資訊的物件!物件
- date列統計資訊陳舊導致sql沒有選擇最優執行計劃SQL
- 10g在create index時就有索引統計資訊,9i 沒有Index索引
- ORACLE表統計資訊與列統計資訊、索引統計資訊Oracle索引
- 【STAT】函式索引和使用表示式統計資訊有什麼不同函式索引
- 建了索引執行計劃會有區別了索引
- 【Oracle】-【索引-HINT,執行計劃】-帶HINT的索引執行計劃Oracle索引
- Linux crontab 沒有執行Linux
- 使用ajaxfileupload.js上傳檔案成功之後,沒有執行success方法JS
- EJB裡使用了file io,執行正常,但是沒有執行file io操作???
- 【PG執行計劃】Postgresql資料庫執行計劃統計資訊簡述SQL資料庫
- 成為MySQL DBA後,再看ORACLE資料庫(十四、統計資訊與執行計劃)MySqlOracle資料庫
- Oracle 索引和執行計劃Oracle索引
- mysql索引和執行計劃MySql索引
- 執行計劃__獲取方法、檢視執行順序、統計資訊詳解
- 執行採購員到底有沒有出路?
- 沒有整合的管理體系便沒有整合的資訊系統
- 執行runInstaller沒有介面彈出
- 索引失效系列——統計量過期引起執行計劃錯誤索引
- SQL優化之統計資訊和索引SQL優化索引
- 沒有審計系統就沒有資料庫安全資料庫
- MySQL中Innodb如何計算索引的統計資訊?MySql索引
- 執行start-dfs.sh後,datenode沒有啟動的解決辦法
- 提示“印表機後臺程式服務沒有執行”的解決辦法!
- 執行update語句,用沒用到索引,區別大嗎?索引
- MySQL 5.1 執行show databases沒有mysql庫MySqlDatabase
- Oracle11g,沒有統計資訊時,表的Card從哪來?Oracle
- mysql 執行計劃索引分析筆記MySql索引筆記
- SQLServer幕後英雄-統計資訊SQLServer
- MySQL 5.7 ANALYZE TABLE分析索引的統計資訊MySql索引
- 手工收集統計資訊及立即產生新的執行計劃
- oracle執行計劃與統計資訊的一些總結Oracle
- 執行ExecBizRule,返回服務更新成功,實際邏輯沒有執行
- 【MOS:1549181.1】為何在查詢中索引未被使用--為什麼索引沒有被使用索引
- Oracle 指令碼 線上哪些索引從來沒有被使用過Oracle指令碼索引
- SQL優化案例一則--複合索引沒有被使用SQL優化索引
- Oracle資料遷移後由列的直方圖統計資訊引起的執行計劃異常Oracle直方圖