国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

類型轉換導致執行計劃不走索引測試案例

來源:懂視網 責編:小采 時間:2020-11-09 14:53:15
文檔

類型轉換導致執行計劃不走索引測試案例

類型轉換導致執行計劃不走索引測試案例:測試環境模擬: SQL drop table t_col_type purge; create table t_col_type(id varchar2(20),col2 varchar2(20),col3 varchar2(20)); insert into t_col_type select rownum,abc,efg from dual co
推薦度:
導讀類型轉換導致執行計劃不走索引測試案例:測試環境模擬: SQL drop table t_col_type purge; create table t_col_type(id varchar2(20),col2 varchar2(20),col3 varchar2(20)); insert into t_col_type select rownum,abc,efg from dual co

測試環境模擬: SQL drop table t_col_type purge; create table t_col_type(id varchar2(20),col2 varchar2(20),col3 varchar2(20)); insert into t_col_type select rownum,abc,efg from dual connect by level=10000; commit; create index idx_id on t_c

測試環境模擬:
SQL> drop table t_col_type purge;
create table t_col_type(id varchar2(20),col2 varchar2(20),col3 varchar2(20));
insert into t_col_type select rownum,'abc','efg' from dual connect by level<=10000;
commit;
create index idx_id on t_col_type(id);
set linesize 1000
set autotrace traceonlydrop table t_col_type purge
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> select * from t_col_type where id=6;

Execution Plan
----------------------------------------------------------
Plan hash value: 3191204463

--------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
--------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 36 | 8 (0)| 00:00:01 |
|* 1 | TABLE ACCESS FULL | T_COL_TYPE | 1 | 36 | 8 (0)| 00:00:01 |
--------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

1 - filter(TO_NUMBER("ID")=6)

Note
-----
- dynamic sampling used for this statement


Statistics
----------------------------------------------------------
5 recursive calls
0 db block gets
64 consistent gets
0 physical reads
0 redo size
640 bytes sent via SQL*Net to client
469 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed

這里好像有點奇怪啊,明明建了index [create index idx_id on t_col_type(id);]但是為啥沒有用到呢?

---查看表上列是否有索引
SQL> select index_name , table_name,column_name from all_ind_columns where table_name ='T_COL_TYPE';

INDEX_NAME
------------------------------------------------------------
TABLE_NAME
------------------------------------------------------------
COLUMN_NAME
--------------------------------------------------------------------------------
IDX_ID
T_COL_TYPE
ID

----查看表結構
SQL> desc scott.T_COL_TYPE
Name Null? Type
----------------------------------------- -------- ----------------------------
ID VARCHAR2(20)----------注意這里的字符類型
COL2 VARCHAR2(20)
COL3 VARCHAR2(20)


再次關注下 執行計劃中的謂語信息:
1 - filter(TO_NUMBER("ID")=6) ----------這里發生了類型轉換

所以在執行計劃中就無法用已有的索引,那么如何才能讓他正確走索引呢?

select * from t_col_type where id='6';------注意下這里的區別加了單引號,表明這是個字符,

Execution Plan
----------------------------------------------------------
Plan hash value: 3998173245

------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 36 | 2 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID | T_COL_TYPE | 1 | 36 | 2 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | IDX_ID | 1 | | 1 (0)| 00:00:01 |
------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

2 - access("ID"='6')

Note
-----
- dynamic sampling used for this statement


Statistics
----------------------------------------------------------
9 recursive calls
0 db block gets
39 consistent gets
1 physical reads
0 redo size
640 bytes sent via SQL*Net to client
469 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

類型轉換導致執行計劃不走索引測試案例

類型轉換導致執行計劃不走索引測試案例:測試環境模擬: SQL drop table t_col_type purge; create table t_col_type(id varchar2(20),col2 varchar2(20),col3 varchar2(20)); insert into t_col_type select rownum,abc,efg from dual co
推薦度:
標簽: 轉換 計劃 測試
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国内精品伊人久久久久妇 | 国产精品不卡在线 | 国产精品美女一区二区 | 国产特级全黄一级毛片不卡 | 亚洲精品在线免费观看视频 | 国产高清精品一区 | 久久久国产成人精品 | 99久久一区| 欧美第一页 | 国产成人久久久精品毛片 | 亚洲一区中文字幕在线 | 黄动漫3d无遮挡免费观看 | 久久久久久久一精品 | a毛片成人免费全部播放 | 中文在线视频 | 99免费在线视频 | 久久综合精品国产一区二区三区无 | 日本高清在线播放一区二区三区 | 国产v精品成人免费视频400条 | 在线欧美v日韩v国产精品v | 国产精品资源在线播放 | 国产区精品在线 | 国产一区二区高清 | 国产一二三区在线 | 麻豆国产成人精品午夜视频 | 欧美一区二区三区视频在线 | 国产亚洲欧美精品久久久 | 国产一区二区三区在线视频 | 最近中文字幕电影在线看 | 日本一区二区三区不卡在线视频 | 欧美在线中文 | 国产欧美日韩视频在线观看 | 久久99国产精品成人欧美 | 欧美 日韩 国产 色 欧美 日韩 亚洲另类专区 | 欧美综合一区 | 欧美 日韩 中文字幕 | 欧美日韩中文在线 | 五月激情综合网 | 狂野欧美老黑粗又硬 | 国产一区二区三区欧美精品 | 精品欧美一区二区三区在线 |