使用Index提示 強制使用索引
者: |
【轉載時請以超連結形式標明文章和作者資訊及】
連結:
連結:
雖然索引並不總會快於全表掃描,但是很多時候我們希望Oracle使用索引來執行某些SQL,這時候我們可以透過index hints來強制SQL使用index.
Index Hints的格式如下:
/*+ INDEX ( table [index [index]...] ) */
我們簡單看一下這個提示的用法(範例為Oracle10g資料庫):
SQL> create table t as select username,password from dba_users; Table created. SQL> create index i_t on t(username); Index created. SQL> set autotrace trace explain SQL> select /*+ index(t i_t) */ * from t where username='EYGLE'; Execution Plan ------------------------------------------------------------------------------------ Predicate Information (identified by operation id): 2 - access("USERNAME"='EYGLE') Note |
這裡的查詢使用了索引.
需要注意的是使用CTAS方式建立資料表,新建表會繼承原表的約束屬性:
SQL> desc t |
如果不使用Hints,此處Oracle不會使用索引:
SQL> select * from t where username='EYGLE'; Execution Plan -------------------------------------------------------------------------- Predicate Information (identified by operation id): 1 - filter("USERNAME"='EYGLE') Note |
索引和全表掃描的選擇和取捨並非簡單,本文不作進一步探討.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-671066/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【HINT】使用“NO_INDEX ”Hint提示避免SQL使用特定索引IndexSQL索引
- Mysql——index(索引)使用MySqlIndex索引
- 【INDEX】使用“alter index ××× monitoring usage;”語句監控索引使用與否Index索引
- mysql 強制走索引MySql索引
- 索引反向使用案例,加index_desc hint索引Index
- 使用index_stats檢視檢視索引效率Index索引
- 強制使用 HTTPS 功能HTTP
- 強制 Laravel 使用 HTTPSLaravelHTTP
- index索引Index索引
- MySQL中為什麼要使用索引合併(Index Merge)?MySql索引Index
- 分割槽索引之本地(local index)索引和全域性索引(global index)索引Index
- 【譯】使用“強制執行到游標”
- Elasticsearch之索引模板index template與索引別名index aliasElasticsearch索引Index
- 如何讓oracle的select強制走索引Oracle索引
- Mysql: 利用強制索引去掉重資料MySql索引
- oracle index索引原理OracleIndex索引
- mysql 索引( mysql index )MySql索引Index
- DataGuard需要使用強制日誌的理由
- /*+ START */ 強制使用星型查詢計劃
- MySQL index hints 使用MySqlIndex
- Ubuntu強制重啟後提示emergency modeUbuntu
- 點陣圖索引(Bitmap Index)——索引共用索引Index
- SQL優化--強制走索引失效的情況SQL優化索引
- Spring Security 強制退出指定使用者Spring
- 【INDEX_SS】使用HINT使SQL用索引跳躍掃描(Index Skip Scan)方式快速獲取資料IndexSQL索引
- 【索引】oracle查詢使用索引和不使用索引的比較索引Oracle
- 【INDEX】Postgresql索引介紹IndexSQL索引
- pandas(3):索引Index/MultiIndex索引Index
- laravel eloquent 判斷索引是否存在並強制指定索引進行查詢Laravel索引
- mongodb索引使用MongoDB索引
- Mysql索引使用MySql索引
- 索引的使用索引
- 唯一性索引(Unique Index)與普通索引(Normal Index)差異(上)索引IndexORM
- 唯一性索引(Unique Index)與普通索引(Normal Index)差異(中)索引IndexORM
- 唯一性索引(Unique Index)與普通索引(Normal Index)差異(下)索引IndexORM
- create index , rebuild index troubleshooting 索引故障解決IndexRebuild索引
- php 使用Callable Closure強制指定回撥型別PHP型別
- 使用 reloadNuxtApp 強制重新整理 Nuxt 應用UXAPP