【學習】SQL基礎-018-索引
1、概念
是資料庫物件,透過指標加速查詢資料,減少磁碟IO
類似書的目錄
自動使用和維護索引 --primary key 和unique列上自動建立
2、建立
基本語法
create index emp_ename_idx on emp(ename);
B樹索引
1)唯一索引,指鍵值不重複。SQL> create unique index empno_idx on emp1(empno);
2)非唯一索引 SQL> create index empno_idx on emp1(empno);
3)組合索引(Composite):基於兩個或多個列的索引。 SQL> create index job_deptno_idx on emp1(job,deptno);
4)反向鍵索引(Reverse):將位元組倒置後組織鍵值。當使用序列產生主鍵索引時,可以防止葉節點出現熱塊現象。缺點是無法提供索引範圍掃描。
SQL> create index mgr_idx on emp1(mgr) reverse;
5)函式索引(Function base):以索引列值的函式值為鍵值去組織索引 SQL> create index fun_idx on emp1(lower(ename));
6)壓縮(Compress):重複鍵值只儲存一次,就是說重複的鍵值在葉塊中就存一次,後跟所有與之匹配的 rowid 字串。
SQL> create index comp_idx on emp1(sal) compress;
7)升序或降序( Ascending or descending):葉節點中的鍵值排列預設是升序的。
SQL> create index deptno_job_idx on emp1(deptno desc, job asc);
函式索引
3、重建、刪除
alter index ind_test_id rebuild online;
drop index
4、不可用、不可見
unusable 不可用
alter index ind_test_id unusable;
如需使用得重建:alter index ind_test_id rebuild;
invisible 不可見
alter index ind_test_id invisible;
alter index ind_test_id visible;
11g新特性,只對最佳化器不可見,但索引維護還是正常進行
5、索引監控(檢視索引是否被使用)
alter index pk_dept monitoring usage;
select * from v$object_usage;
alter index pk_dept nomonitoring usage;
6、注意事項
7、檢視
user_indexes
user_ind_columns
是資料庫物件,透過指標加速查詢資料,減少磁碟IO
類似書的目錄
自動使用和維護索引 --primary key 和unique列上自動建立
2、建立
基本語法
create index emp_ename_idx on emp(ename);
B樹索引
1)唯一索引,指鍵值不重複。SQL> create unique index empno_idx on emp1(empno);
2)非唯一索引 SQL> create index empno_idx on emp1(empno);
3)組合索引(Composite):基於兩個或多個列的索引。 SQL> create index job_deptno_idx on emp1(job,deptno);
4)反向鍵索引(Reverse):將位元組倒置後組織鍵值。當使用序列產生主鍵索引時,可以防止葉節點出現熱塊現象。缺點是無法提供索引範圍掃描。
SQL> create index mgr_idx on emp1(mgr) reverse;
5)函式索引(Function base):以索引列值的函式值為鍵值去組織索引 SQL> create index fun_idx on emp1(lower(ename));
6)壓縮(Compress):重複鍵值只儲存一次,就是說重複的鍵值在葉塊中就存一次,後跟所有與之匹配的 rowid 字串。
SQL> create index comp_idx on emp1(sal) compress;
7)升序或降序( Ascending or descending):葉節點中的鍵值排列預設是升序的。
SQL> create index deptno_job_idx on emp1(deptno desc, job asc);
函式索引
3、重建、刪除
alter index ind_test_id rebuild online;
drop index
4、不可用、不可見
unusable 不可用
alter index ind_test_id unusable;
如需使用得重建:alter index ind_test_id rebuild;
invisible 不可見
alter index ind_test_id invisible;
alter index ind_test_id visible;
11g新特性,只對最佳化器不可見,但索引維護還是正常進行
5、索引監控(檢視索引是否被使用)
alter index pk_dept monitoring usage;
select * from v$object_usage;
alter index pk_dept nomonitoring usage;
6、注意事項
7、檢視
user_indexes
user_ind_columns
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31476473/viewspace-2152750/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL學習___01:基礎SQL
- 【學習】SQL基礎-016-序列SQL
- 【學習】SQL基礎-013-DDLSQL
- 【學習】SQL基礎-011-TCLSQL
- 【學習】SQL基礎-010-DMLSQL
- 【學習】SQL基礎-002-SELECTSQL
- iOS 基礎知識學習目錄索引iOS索引
- MySQL學習(三) SQL基礎查詢MySql
- 【學習】SQL基礎-015-檢視SQL
- 【學習】SQL基礎-014-約束SQL
- 【學習】SQL基礎-012-鎖定SQL
- 【學習】SQL基礎-005-group by子句SQL
- 【學習】SQL基礎-004-函式SQL函式
- 【學習】SQL基礎-017-同義詞SQL
- 【學習】SQL基礎-009-sqlplus環境SQL
- 【學習】SQL基礎-008-集合運算子SQL
- 【學習】SQL基礎-007-子查詢SQL
- 【學習】SQL基礎-003-過濾排序SQL排序
- 【學習】SQL基礎-001-前期準備SQL
- 【學習】SQL基礎-006-多表連線查詢SQL
- 【學習】SQL基礎-019-控制使用者訪問SQL
- MySQL——索引基礎MySql索引
- mysql基礎_索引MySql索引
- mysql索引基礎MySql索引
- 免殺學習-基礎學習
- Linux基礎學習——檔案基礎Linux
- python基礎學習Python
- Redis 基礎學習Redis
- Linux基礎學習Linux
- Docker 基礎學習Docker
- Flume基礎學習
- 【Vue學習】基礎Vue
- jQuery基礎學習jQuery
- Scala基礎學習
- kafka基礎學習Kafka
- Zookeeper 基礎學習
- 深度學習基礎深度學習
- 學習linux基礎Linux