索引的定義 分類及使用

2021-08-28 11:54:06 字數 1820 閱讀 4394

1、什麼是索引?索引的常見型別有什麼?

索引就是加快檢索表中資料的方法。資料庫的索引類似於書籍的索引。在書籍中,索引允許使用者不必翻閱完整個書就能迅速地找到所需要的資訊。在資料庫中,索引也允許資料庫程式迅速地找到表中的資料,而不必掃瞄整個資料庫。

建設原則:

1、索引應該經常建在

where

子句經常用到的列上。如果某個大表經常使用某個字段進行查詢,並且檢索行數小於總表行數的

5%。則應該考慮。 2

、對於兩表連線的字段,應該建立索引。如果經常在某錶的乙個字段進行

order by

則也經過進行索引。 3

、不應該在小表上建設索引。

2、分類:我們主要介紹常見的聚集索引和非聚集索引

聚集索引:對正文內容按照一定規則排列的目錄稱為聚集索引。

比如圖書館新進了一批書。那麼這些書需要放到圖書館內。書如何放呢?一般都有乙個規則,雜誌類的放到101房間,文學類的放到102房間,理工類的放到103房間等等。這些儲存的規則決定了每本書應該放到**。而這個例子中聚集索引為書的類別。 

非聚集索引:目錄自己按照一定規則排列,正文自己按照另一種規則排列,目錄主要是儲存對正文的乙個對映關係,這種稱為非聚集索引。

繼續使用上述提到的例子: 同學如果想去圖書館找一本書,而不知道這本書在**?那麼這個同學首先應該找的就是檢索室。對於要查詢一本書來說,在檢索室查是乙個非常快捷的的途徑了。但是,在檢索室中你查到了該書在xx室xx書架的資訊。但是你的查詢並沒有結束,你僅僅找到了目的書的位置資訊,你還要去該位置去取書。

對於這種方式來說,你需要兩個步驟: 

(1)查詢該記錄所在的位置。 

(2)通過該位置去取要找的記錄。

3、索引的優點和缺點

優點:大大加快資料的檢索速度(主要原因)。

缺點:建立索引和維護索引要耗費時間,這種時間隨著資料量的增加而增加

索引需要佔物理空間。

1、索引主要進行提高資料的查詢速度。

當進行dml

時,會更新索引。因此索引越多,則

dml越慢,其需要維護索引。

因此在建立索引及

dml需要權衡。

建立索引

:單一索引

:create index on (column_name);

復合索引

: create index i_deptno_job on emp(deptno,job); —>

在emp

表的deptno

、job

列建立索引。

select * from emp where deptno=66 and job='sals' ->

走索引。

select * from emp where deptno=66 or job='sals' ->

將進行全表掃瞄。不走索引

select * from emp where deptno=66 ->

走索引。

select * from emp where job='sals' ->

進行全表掃瞄、不走索引。

如果在where

子句中有

or 操作符或單獨引用

job 列(

索引列的後面列

) 則將不會走索引,將會進行全表掃瞄。

4、索引的建立和使用

create index 索引名 on 表名(列名);

注:對於主鍵或者唯一鍵,server會自動加索引。

索引使用方法:不用特意使用,oracle會自動處理。

刪除索引

drop index indexname;

oracle 索引的定義及使用

2 索引 目標是為了提高查詢的速度,當使用者對查詢速度不滿意而需要對資料庫的效能進行調校時,優先考慮建立索引。資料庫中索引的概念與書索引的概念非常類似,不同之處在於資料庫索引用來在表中查詢特定的行。索引缺點 向表中 新增 刪除 行時,必須花費額外的時間來更新該行的索引。建立索引的時機 當需要從大表中...

索引實現原理及分類

樹這種資料結構學習起來,難度是比較高的,所以,我們在工作和面試中遇到的情況不多。b 樹是對 b 樹的改進得到的,而 b 樹則是一棵多路平衡查詢樹 是平衡二叉樹的變體,稍有不同的是 b 樹屬於多叉樹,即查詢路徑不止兩個 所以,想要搞清楚 b 樹,就一定要搞清楚 b 樹。首先,我們來談一談 m 階 著重...

MySQL 索引介紹及索引的分類 索引原則

索引的使用 1.在建立表的時候給字段增加索引.2.建立表完畢後,增加索引.use school show index from student 顯示所有的索引資訊 增加乙個全文索引 索引名 列名 alter table student add fulltext index studentname s...