單索引與唯一索引

2022-03-03 21:07:55 字數 624 閱讀 2168

1、普通索引

普通索引(由關鍵字key或index定義的索引)的唯一任務是加快對資料的訪問速度。因此,應該只為那些最經常出現在查詢條件(wherecolumn=)或排序條件(orderbycolumn)中的資料列建立索引。只要有可能,就應該選擇乙個資料最整齊、最緊湊的資料列(如乙個整數型別的資料列)來建立索引。

2、唯一索引

普通索引允許被索引的資料列包含重複的值。比如說,因為人有可能同名,所以同乙個姓名在同乙個「員工個人資料」資料表裡可能出現兩次或更多次。

如果能確定某個資料列將只包含彼此各不相同的值,在為這個資料列建立索引的時候就應該用關鍵字unique把它定義為乙個唯一索引。這麼做的好處:一是簡化了mysql對這個索引的管理工作,這個索引也因此而變得更有效率;二是mysql會在有新記錄插入資料表時,自動檢查新記錄的這個欄位的值是否已經在某個記錄的這個欄位裡出現過了;如果是,mysql將拒絕插入那條新記錄。也就是說,唯一索引可以保證資料記錄的唯一性。事實上,在許多場合,人們建立唯一索引的目的往往不是為了提高訪問速度,而只是為了避免資料出現重複。

3.主索引

在前面已經反覆多次強調過:必須為主鍵欄位建立乙個索引,這個索引就是所謂的"主索引"。主索引與唯一索引的唯一區別是:前者在定義時使用的關鍵字是primary而不是unique。

主鍵 外來鍵 唯一索引 單索引與組合索引

通過unique key 索引名稱 索引字段 using 索引方法 btree或者hash 例如對使用者表而言,使用使用者id作為其主鍵,但是作為使用者登入的使用者名稱又不能重複,但是將使用者名稱設定成主鍵,不利於後續開發,所以可以將使用者名稱設定成唯一索引,既保證了資料的唯一性,也可以提高查詢速度...

MySQL普通索引與唯一索引

總結參考文獻 當我們需要在乙個唯一欄位上建立索引時,究竟是建立普通索引還是唯一索引的效能更好呢?這時需要從兩個角度考慮 對於普通索引來說,查詢到滿足條件的第乙個記錄後,需要查詢下乙個記錄,直到碰到第乙個不滿足條件的記錄。對於唯一索引來說,由於索引定義了唯一性,查詢到第乙個滿足條件的記錄後,就會停止繼...

唯一索引與主鍵索引的比較

唯一索引 唯一索引不允許兩行具有相同的索引值。如果現有資料中存在重複的鍵值,則大多數資料庫都不允許將新建立的唯一索引與表一起儲存。當新資料將使表中的鍵值重複時,資料庫也拒絕接受此資料。例如,如果在 employee 表中的職員姓氏 lname 列上建立了唯一索引,則所有職員不能同姓。主鍵索引 主鍵索...