在select 中的where 中使用index
/* 2008/07/01 星期一
*蒙昭良
*環境:windowsXP + Oracle10gR2
*在select 中的where 中使用index
*/
1 在where中使用索引
SQL> set timing on
SQL> set autotrace on
SQL> drop index test_owner_index;
索引已刪除。
已用時間: 00: 00: 02.01
沒有使用索引之前:全表掃描花4.46秒
SQL> select count(*) from test where wner='RISENET';
COUNT(*)
----------
1350
已用時間: 00: 00: 04.46
執行計劃
----------------------------------------------------------
Plan hash value: 1950795681
---------------------------------------------------------------------------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
---------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | 6 | 4110 (1)| 00:00:50 |
| 1 | SORT AGGREGATE | | 1 | 6 | | |
|* 2 | TABLE ACCESS FULL| TEST | 1052 | 6312 | 4110 (1)| 00:00:50 |
---------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - filter("OWNER"='RISENET')
統計資訊
----------------------------------------------------------
124 recursive calls
0 db block gets
15108 consistent gets
15087 physical reads
0 redo size
409 bytes sent via SQL*Net to client
385 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
2 sorts (memory)
0 sorts (disk)
1 rows processed
SQL> create index test_owner_index
2 on test(owner);
索引已建立。
已用時間: 00: 00: 04.57
使用索引之後:0.01秒
SQL> select count(*) from test where wner='RISENET';
COUNT(*)
----------
1350
已用時間: 00: 00: 00.01
執行計劃
----------------------------------------------------------
Plan hash value: 1335201336
--------------------------------------------------------------------------------
------
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time
|
--------------------------------------------------------------------------------
------
| 0 | SELECT STATEMENT | | 1 | 6 | 3 (0)| 00:0
0:01 |
| 1 | SORT AGGREGATE | | 1 | 6 | |
|
|* 2 | INDEX RANGE SCAN| TEST_OWNER_INDEX | 1052 | 6312 | 3 (0)| 00:0
0:01 |
--------------------------------------------------------------------------------
------
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("OWNER"='RISENET')
統計資訊
----------------------------------------------------------
1 recursive calls
0 db block gets
6 consistent gets
5 physical reads
0 redo size
409 bytes sent via SQL*Net to client
385 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/12778571/viewspace-368744/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HTML中Select的使用HTML
- swift 中的 whereSwift
- ThinkPHP中CURD where的使用注意事項PHP
- MySql 中 select 使用MySql
- MySQL explain結果Extra中"Using Index"與"Using where; Using index"區別MySqlAIIndex
- 關於在SQL語句中ON和WHERE中條件使用的差異SQL
- SQLite中的WHERE子句SQLite
- Select Top在不同資料庫中的使用用法資料庫
- vue中select的使用以及select設定預設選中Vue
- mysql select欄位別名 不可以在select 或者where中使用 但是group by 與order by可以使用MySql
- MyBatis中的<where>標籤和where子句的區別MyBatis
- 解析MySQL中INSERT INTO SELECT的使用MySql
- SQLite中的SELECT子句使用別名SQLite
- SQLite中的SELECT子句使用表示式SQLite
- SQL中where和on的區別SQL
- SQLite中的SELECT子句使用萬用字元SQLite字元
- HTML中Select的使用具體解釋HTML
- 在jsavaScript中設定select的某個選項被選中JS
- ORACLE中index的rebuildOracleIndexRebuild
- ListView中getChildAt(index)的使用注意事項ViewLDAIndex
- 詳解MySQL中WHERE子句的用法MySql
- SQLite中的SELECT子句SQLite
- DataTable中的select()用法
- 使用layui框架的select獲取選中的值UI框架
- 子查詢包含where ..or在Corelated Subquery 中語句中問題
- MYSQL中的type:index 和 Extra:Using indexMySqlIndex
- SQL中Having與Where的區別SQL
- SQL 中having 和where的區別SQL
- powershell中的where和foreach比較
- SQL join中on與where區別SQL
- iota 在 Go 中的使用Go
- REST 在 Java 中的使用RESTJava
- java nio中的select和channel是怎麼使用的?Java
- Oracle中select ... for update的用法Oracle
- 在 .NET 中的 ConvertAll 和 Select 方法哪個效能好
- 避免在WHERE條件中,在索引列上進行計算或使用函式,因為這將導致索引不被使用索引函式
- SQL中的where條件,在資料庫中提取與應用淺析SQL資料庫
- 關於 index.ts 在大型 Angular 專案中的應用IndexAngular