在一些場景下,可能oracle不會自動走索引,這時候,如果對業務清晰,可以嘗試使用強制索引,測試查詢語句的效能。
以emp表為例:
先在emp表中建立唯一索引,如圖。
普通搜尋:
select * from emp t檢視執行計畫(f5):
可以看到,是走的全表掃瞄。
使用強制索引,在select 後面加上/*.......*/ 中間加上索引的屬性,**如下:
select /*+index(t pk_emp)*/* from emp t--強制索引,/*.....*/第乙個星星後不能有空格,裡邊內容結構為:加號index(表名 空格 索引名)。
--如果錶用了別名,注釋裡的表也要使用別名。
可以看到,這是走的是索引pk_emp。
oracle強制索引使用
強制索引格式 select tablename.from tablename table alias where fieldname 說明 index table alias indexname 必須出現在select 之後,字段之前 tablename 為表名,如果sql中表有別名,則必須使用表的...
oracle走強制索引的形式
最近半年一直接觸oracle,走強制索引的場景越來越多,很多表加了索引看sql的執行計畫 pl sql developer中的快捷鍵f5 發現還是很慢,就像沒有走索引一樣。這裡查了下強制索引的形式,一下這段進攻參考 首先要看你的oracle優化器採用的是rbo還是cbo,1 如果使用的是rbo的話,...
39強制索引
針對salaries表emp no欄位建立索引idx emp no,查詢emp no為10005,使用強制索引。解題思路 先建立索引,create index idx emp no on salaries emp no 再建立強制索引查詢,題目這裡預設已經建立索引 索引名一定要加括號,否則錯誤。強制...