連線條件字元型別不一樣。
drop table wxh_tbd1;
Table dropped.
rop table wxh_tbd2;
Table dropped.
create table wxh_tbd1 (id number ,name varchar2(2000));
Table created.
create table wxh_tbd2 (id varchar2(1000) ,name varchar2(2000));
Table created.
insert into wxh_tbd1 select object_id,object_name from dba_objects;
18667 rows created.
commit;
Commit complete.
insert into wxh_tbd2 select object_id,object_name from dba_objects;
18667 rows created.
commit;
Commit complete.
create index t2 on wxh_tbd1(id);
Index created.
create index t3 on wxh_tbd2(id);
Index created.
create index t1 on wxh_tbd1(name);
Index created.
select * from wxh_tbd1 a ,wxh_tbd2 b where a.id=b.id and a.name='1';
no rows selected
Execution Plan
----------------------------------------------------------
Plan hash value: 422716281
-----------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
-----------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2519 | 26 (4)| 00:00:01 |
| 1 | NESTED LOOPS | | | | | |
| 2 | NESTED LOOPS | | 1 | 2519 | 26 (4)| 00:00:01 |
| 3 | TABLE ACCESS FULL | WXH_TBD2 | 19022 | 27M| 25 (0)| 00:00:01 |
|* 4 | INDEX RANGE SCAN | T1 | 1 | | 0 (0)| 00:00:01 |
|* 5 | TABLE ACCESS BY INDEX ROWID| WXH_TBD1 | 1 | 1015 | 0 (0)| 00:00:01 |
-----------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
4 - access("A"."NAME"='1')
5 - filter("A"."ID"=TO_NUMBER("B"."ID"))
select * from wxh_tbd1 a ,wxh_tbd2 b where to_char(a.id)=b.id and a.name='1';
no rows selected
Execution Plan
----------------------------------------------------------
Plan hash value: 186266070
------------------------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 2519 | 3 (0)| 00:00:01 |
| 1 | NESTED LOOPS | | | | | |
| 2 | NESTED LOOPS | | 1 | 2519 | 3 (0)| 00:00:01 |
| 3 | TABLE ACCESS BY INDEX ROWID| WXH_TBD1 | 1 | 1015 | 1 (0)| 00:00:01 |
|* 4 | INDEX RANGE SCAN | T1 | 1 | | 1 (0)| 00:00:01 |
|* 5 | INDEX RANGE SCAN | T3 | 1 | | 1 (0)| 00:00:01 |
| 6 | TABLE ACCESS BY INDEX ROWID | WXH_TBD2 | 1 | 1504 | 2 (0)| 00:00:01 |
------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
4 - access("A"."NAME"='1')
5 - access("B"."ID"=TO_CHAR("A"."ID"))
ORACLE為什麼不去對A表的id透過to_char轉換,而總是會在varchar2的型別欄位上增加to_number函式。
數字轉char總是可以成功的,而char轉number是可能報錯的。而oracle總是傾向與後者。不知道為什麼。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-683598/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於sqlserver字元型別查詢條件區分大小寫SQLServer字元型別
- typescript type 分配條件型別TypeScript型別
- 表連線型別型別
- 關於外連線和where條件
- TypeScript 條件型別精讀與實踐TypeScript型別
- SQL的連線型別SQL型別
- TypeScript 官方手冊翻譯計劃【九】:型別操控-條件型別TypeScript型別
- MySQL 字元型別MySql字元型別
- 32. 基本資料型別、約束條件資料型別
- Python之字元型別Python字元型別
- Kettle自定義資料庫連線型別連線HGDB資料庫型別
- mysql外連線有哪些型別MySql型別
- Java 設定Excel條件格式(高亮條件值、應用單元格值/公式/資料條等型別)JavaExcel公式型別
- 外連線有 OR 關聯條件只能走 NL優化優化
- T-SQL——關於Join on的的連線條件和where的篩選條件的區分SQL
- SAP MM 自定義條件型別出現在採購資訊記錄的'條件'介面裡 ?型別
- 11.8 python之字元型別Python字元型別
- 申請英國公司需要什麼條件?都有哪些型別?型別
- 使用條件型別實現TypeScript中的函式過載型別TypeScript函式
- 不一樣的連連看 創新手遊《懸浮世界》7月12日雙端上線
- pdo連線的時候設定字元編碼是這樣的字元
- PostgreSQL:字元——型別及函式SQL字元型別函式
- SAP S4HANA如何取到採購訂單ITEM裡的'條件'選項卡里的條件型別值?型別
- Python連線MySQL的條條大路PythonMySql
- Java實現子類返回型別不一樣也能重寫(特殊情況)Java型別
- PHP中的連線字元. 的用法PHP字元
- Java多型實現的必要條件Java多型
- 泛型類、泛型方法、型別萬用字元的使用泛型型別字元
- C語言基礎-2、字元型別C語言字元型別
- SVG 設定線條樣式SVG
- mysql 左連結 left join 條件寫在where 後面與 on後面的區別MySql
- 老外總結的14條Go介面最佳實踐,有些不一樣Go
- redis實現像關係型資料庫一樣按條件高效查詢分頁Redis資料庫
- 1.金額數字轉字元型別字元型別
- canvas 設定線條的樣式Canvas
- CAD樣條線命令然後使用
- 程式碼優化-多型代替IF條件判斷優化多型
- echart折線圖異常多出一條連線線
- gson-plugin告別Json資料型別不一致(一)PluginJSON資料型別