**:
1、普通索引
(1)定義:最基本的索引型別,沒有唯一性之類的限制。
(2)建立方式:
a、建立索引,例如create index 《索引的名字》 on tablename (列的列表);
b、修改表,例如alter table tablename add index [索引的名字] (列的列表);
c、建立表的時候指定索引,例如create table tablename ( [...], index [索引的名字] (列的列表) );
2、唯一索引(unique索引)
(1)定義:
不允許其中任何兩行具有相同索引值的索引
。(2)建立原則:
a、當現有資料中存在重複的鍵值時,大多數資料庫不允許將新建立的唯一索引與表一起儲存。
b、資料庫還可能防止新增將在表中建立重複鍵值的新資料。
例如,如果在 employee 表中職員的姓 (lname) 上建立了唯一索引,則任何兩個員工都不能同姓。對某個列建立unique索引後,插入新紀錄時,資料庫管理系統會自動檢查新紀錄在該列上是否取了重複值,在create table 命令中的uniqe約束將隱式建立unique索引。
(3)建立方式:
a、建立索引,例如create unique index 《索引的名字》 on tablename (列的列表);
b、修改表,例如alter table tablename add unique [索引的名字] (列的列表); ;
c、建立表的時候指定索引,例如create table tablename ( [...], unique [索引的名字] (列的列表) );
3、主鍵索引
(1)定義:簡稱為主索引,資料庫表中一列或列組合(字段)的值唯一標識表中的每一行。該列稱為表的主鍵。
(3)性質:
a、主鍵索引是唯一索引的特定型別。
b、該索引要求主鍵中的每個值都唯一。
c、當在查詢中使用主鍵索引時,它還允許對資料的快速訪問。
d、儘管唯一索引有助於定位資訊,但為獲得最佳效能結果,建議改用主鍵索引。
4、候選索引
(1)定義:與主索引一樣要求字段值的唯一性,並決定了處理記錄的順序。
(2)性質:在資料庫和自由表中,可以為每個表建立多個候選索引。
主索引 普通索引 候選索引 唯一索引
1.普通索引 普通索引 由關鍵字key或index定義的索引 唯一的任務是加快對資料的訪問速度。因此,應該只為那些最經常出現在查詢條件 wherecolumn 或排序條件 orderbycolumn 中的資料列建立索引 2.唯一索引 在某個資料列只包含彼此不同的值,在為這個資料列建立索引時就應該用關...
索引(三)主鍵索引 唯一索引 聯合索引
索引是一種特殊的檔案 innodb資料表上的索引是表空間的乙個組成部分 它們包含著對資料表裡所有記錄的引用指標。索引可以極大的提高資料的查詢速度,但是會降低插入 刪除 更新表的速度,因為在執行這些寫操作時,還要操作索引檔案。普通索引 由關鍵字key或index定義的索引 唯一任務是加快對資料的訪問速...
普通索引 唯一索引 區別
分析唯一索引和普通索引在查詢語句和更新語句中的效能影響。假設執行以下語句 select id from t where k 5這個查詢語句在索引樹上查詢的過程,先是通過 b 樹從樹根開始,按層搜尋到葉子節點,然後可以在資料頁內部通過二分法來定位記錄。以上看起來唯一索引比普通索引少了一步判斷,其實帶來...