Nick Zhang
1 min readMar 18, 2019

SQL 分辨 Primary Key, Unique 與 Index的不同

Primary Key 主鍵:

  • 是一種 index 但不能為空值(NULL),PK 會自動建立 index
  • 每個 table 只能有一個 PRIMARY Key

Unique 不重複鍵:

  • 和 index 相同,差異在於不能允許重複值

Index 索引鍵:

  • 資料索引,可加快搜尋速度
  • index建立會占用儲存空間,資料增刪修時會異動
  • 欄位長度是越短越好
  • 欄位長度若是固定比變動好

Index補充(單列索引與多列索引的觀念):

  • 將「A+B+C」設為 index 時,僅搜尋A是不會用到索引的
  • 「A+B+C」和「A」設為 index不同,如搜尋A+B+C,前者直接回覆A+B+C索引值,後者為A用索引,縮小範圍後再以搜尋B+C

舉例: 例如一張人事資料表,id就是primary key, Email就是unique, 因為不可重複,姓名就是index, 因為姓名可以重複。

No responses yet