索引,主鍵,唯一索引,聯合索引 的區別

2021-10-06 11:10:05 字數 931 閱讀 6867

簡單描述mysql中,索引,主鍵,唯一索引,聯合索引 的區別,對資料庫的效能有什麼影響

索引是一種特殊的檔案(innodb 資料表上的索引是表空間的乙個組成部分),它們 包含著對資料表裡所有記錄的引用指標。

主鍵索引(primary key): 資料表的主鍵列使用的就是主鍵索引。一張資料表有只能有乙個主鍵,並且主鍵不能為null,不能重複。

唯一索引(unique key):唯一索引也是一種約束。唯一索引的屬性列不能出現重複的資料,但是允許資料為null,一張表允許建立多個唯一索引。建立唯一索引的目的大部分時候都是為了該屬性列的資料的唯一性,而不是為了查詢效率。也就是說,唯一索引可以保證資料記錄的唯一性。

普通索引:由關鍵字 key 或 index 定義的索引的唯一任務是加快對資料的訪問速度,一張表允許建立多個普通索引,並允許資料重複和null。

字首索引(prefix):字首索引只適用於字串型別的資料。字首索引是對文字的前幾個字元建立索引,相比普通索引建立的資料更小,

因為只取前幾個字元。

全文索引(full text):全文索引主要是為了檢索大文字資料中的關鍵字的資訊,是目前搜尋引擎資料庫使用的一種技術。mysql5.6之前只有myisam引擎支援全文索引,5.6之後innodb也支援了全文索引。

主鍵,是一種特殊的唯一索引,在一張表中只能定義乙個主鍵索引,主鍵用於唯 一標識一條記錄,使用關鍵字 primary key 來建立。

索引可以覆蓋多個資料列,如像 index(columna, columnb)索引,這就是聯合索引。

索引可以極大的提高資料的查詢速度,但是會降低插入、刪除、更新表的速度, 因為在執行這些寫操作時,還要操作索引檔案。

索引,主鍵,唯一索引,聯合索引的區別

索引是一種特殊的檔案,它們包含著對所有記錄的引用指標。普通索引 由關鍵字key或index定義的索引 的唯一任務是加快對資料的訪問速度。普通索引允許被索引的資料列包含重複的值。如果能確定某個資料列將只包含彼此各不相同的值,在為這個資料列常建立索引時應該用就用關鍵字unique把他定義成乙個唯一索引。...

索引(三)主鍵索引 唯一索引 聯合索引

索引是一種特殊的檔案 innodb資料表上的索引是表空間的乙個組成部分 它們包含著對資料表裡所有記錄的引用指標。索引可以極大的提高資料的查詢速度,但是會降低插入 刪除 更新表的速度,因為在執行這些寫操作時,還要操作索引檔案。普通索引 由關鍵字key或index定義的索引 唯一任務是加快對資料的訪問速...

mysql中,索引,主鍵,唯一索引,聯合索引的區別

mysql中,索引,主鍵,唯一索引,聯合索引的區別,對資料庫的效能有什麼影響。1 索引是一種特殊的檔案 innodb資料表上的索引是表空間的乙個組成部分 它們包含著對資料表裡所有記錄的引用指標。2 普通索引 由關鍵字key或index定義的索引 的唯一任務是加快對資料的訪問速度。3 普通索引允許被索...