Oracle筆記 之 索引(index)
1.索引分類
a) 唯一索引, 作用是資料約束,保證資料唯一,還有就是資料索引,提高查詢效率
b)一般索引,只有資料索引的作用,
2.唯一索引的建立
create unique index 索引名 on 表名(欄位名)
ok,假設有一個Emploeyy表,裡面有一個empName欄位,我們來為empName新增唯一索引
create unique index idx_empname on employee(empname);
3.一般索引
create index 索引名 on 表名(欄位名)
ok,現在我們為employee的address欄位,新增一般索引
create index idx_address on employee(address);
我們還可以為兩多個欄位建立索引
create unique index idx_test on employee(field1,field2);
這樣,為field1,field2新增了唯一索引,field1和field2的組合是唯一的了
還可以指定索引排序
create index idx_test employee(field1 ,field2 desc);;
4.函式索引
如果在我們的查詢條件使用了函式,那麼索引就不可用了。
可以用建立函式索引的方式,來解決這個問題
例如:
select * from product where nvl(price,0.0)>1000.0 ;
這裡,nvl(price,0.0)使用了函式,索引不能利用price欄位上做的索引了
ok,我們來建立函式索引
create index index_price on product(nvl(price,0.0));
5.索引的刪除
drop index 索引名
drop index idx_empname;
6.其它的
唯一索引能極大的提高查詢速度,而且還有唯一約束的作用
一般索引,只能提高30%左右的速度
經常插入,修改,應在查詢允許的情況下,儘量減少索引,因為新增索引,插入,修改等操作,需要更多的時間
可以在order by的欄位,where的條件欄位,join的關聯欄位新增索引
比如:
select * from table1 t1
left join table2 t2 on t1.欄位A=t2.欄位B
where t1.欄位C = '值'
order by t1.欄位D
這裡,A,B,C,D欄位,都應該新增索引
相關文章
- Elasticsearch之索引模板index template與索引別名index aliasElasticsearch索引Index
- 【INDEX】Oracle 索引常見知識梳理IndexOracle索引
- 【INDEX】Oracle分割槽索引技術詳解IndexOracle索引
- Oracle中的虛擬列索引-nosegment indexOracle索引Index
- index_oracle索引梳理系列及分割槽表梳理IndexOracle索引
- Oracle資料庫中的不可見索引 invisible indexOracle資料庫索引Index
- 【INDEX】Oracle19c 自動索引技術初探IndexOracle索引
- Oracle索引梳理系列(六)- Oracle索引種類之函式索引Oracle索引函式
- MySQL優化學習筆記之索引MySql優化筆記索引
- Python學習筆記|Python之索引迭代Python筆記索引
- oracle之 反向鍵索引Oracle索引
- MySQL 優化之 index_merge (索引合併)MySql優化Index索引
- MySql索引筆記MySql索引筆記
- Oracle 19c中的自動索引(DBMS_AUTO_INDEX)Oracle索引Index
- pandas(3):索引Index/MultiIndex索引Index
- 【INDEX】Postgresql索引介紹IndexSQL索引
- 筆記五:倒排索引筆記索引
- oracle筆記Oracle筆記
- 隨筆:MySQL:eq_range_index_dive_limit 索引下探介面MySqlIndexMIT索引
- MySQL 索引覆蓋(Covering Index)MySql索引Index
- MySQL 筆記 - 索引優化MySql筆記索引優化
- ES 筆記五:倒排索引筆記索引
- ElasticSearch 倒排索引(Inverted Index)| 什麼是倒排索引?Elasticsearch索引Index
- ES 筆記十四:Index Template 和 Dynamic Template筆記Index
- Oracle優化案例-分割槽索引之無字首索引(六)Oracle優化索引
- oracle invisible index與unusable index的區別OracleIndex
- openGauss Index-advisor_索引推薦Index索引
- oracle全文索引之同步和優化索引做了什麼Oracle索引優化
- MySQL學習筆記:組合索引-索引下推MySql筆記索引
- MySQL學習筆記:索引失效MySql筆記索引
- mysql總結筆記 -- 索引篇MySql筆記索引
- Oracle 索引Oracle索引
- oracle學習筆記(十四) 資料庫物件 索引 檢視 序列 同義詞Oracle筆記資料庫物件索引
- oracle全文索引之commit與DML操作Oracle索引MIT
- Oracle 常用SQL筆記OracleSQL筆記
- [oracle零碎筆記]oracle零碎筆記(持續更新…)Oracle筆記
- 【SqlServer】管理全文索引(FULL TEXT INDEX)SQLServer索引Index
- Mysql索引讀書筆記(待續)MySql索引筆記
- oracle全文索引之幾個關鍵表Oracle索引