mysql中的唯一索引

2021-10-18 12:38:46 字數 1281 閱讀 9249

工作使用的資料庫是mysql,經常會與唯一索引打交道,藉此記錄下來。表的主鍵一般都會使用乙個自增的數值(一般從0或1開始),所以更加關心的是如何建立唯一索引以及有沒有必要建立唯一索引問題。

注意,別把唯一索引和主鍵相混淆了。

關於唯一索引和主鍵區別的一些資料:

資料庫索引是乙個的資料結構,以協助快速查詢,更新資料庫中表的資料。索引的實現通常使用b樹和變種的b+樹(mysql常用的索引就是b+樹)。【關於b樹和b+樹的相關知識可以另外補哈】

(1)建立索引,可以在查詢的過程中,提高系統的效能

(2)通過建立唯一性索引,可以保證資料庫表中每一行資料的唯一性

(3)用來排序和分組的字段上建立索引,可以加快分組和排序

(1)建立索引和維護索引需要時間成本,這個成本隨著資料量的增大而加大

(2)建立索引和維護索引需要空間成本,每一條索引都需要佔據資料庫的物理儲存空間,資料量越大,占用空間也越大

(3)會降低表的增刪改的效率,因為每次增刪改,索引需要進行動態維護

使用唯一索引的好處其實在上面索引的優點中就已經體現,主鍵在新建表的時候就已經確定了,使用唯一索引可以很方便對錶資料進行增刪查改,因為唯一索引能夠保證表的行資料的唯一性,因此在對錶相關操作只需要在where對後面跟上唯一索引值即可。至於效能方面我個人還是不太了解的。

現在的大部分圖形化資料庫軟體其實都不用使用sql去新增或刪除索引,但是作為一名軟體開發人員,知道相關sql命令是有利無害的。

create

unique

index index_name on table_name (column1, column2,..

.);

alter

table table_name add

unique

index index_name on

(column1,column2,..

.);

drop

unique

index index_name on table_name;

create

table table_name(..

....

....

..unique

index index_name(column1,column2,..

.));

show

unique

index

from table_name;

mysql 唯一索引 mysql建立唯一索引

檢視索引 show index from 資料庫表名 alter table 資料庫add index 索引名稱 資料庫欄位名稱 primary key 主鍵索引 alter table table name add primary key column unique 唯一索引 alter tabl...

MySQL唯一索引

mysql唯一索引 返回首頁 1 唯一索引 unique 單列唯一索引和聯合唯一索引。索引是為了加速查詢。唯一索引是加了約束條件。例如主外來鍵。2 唯一索引的約束 約束不能重複 可以為空 主鍵不能重複 不能為空 3 唯一索引的寫法 create table t1 id int num int,uni...

mysql索引二(唯一索引)

前文中介紹了mysql中普通索引用法,和沒有索引的區別。mysql索引一 普通索引 下面學習一下唯一索引。建立唯一索引的目的不是為了提高訪問速度,而只是為了避免資料出現重複。唯一索引可以有多個但索引列的值必須唯一,索引列的值允許有空值。如果能確定某個資料列將只包含彼此各不相同的值,在為這個資料列建立...