[Mysql基本觀念] primary Key / Index / Unique差別
[Mysql基本觀念] primary Key / Index / Unique差別
■ Index:
◎ 資料索引,可加快搜尋速度,Mysql引擎除了Archive外都支援B-tree索引
◎ 可多欄位設定為Index
◎ 語法為 CREATE INDEX <索引的名字> ON tablename (列的列表)
■ Unique:
◎ 和index相同,差異在於不能允許重複值
◎ 語法為CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表)
■ PRIMARY Key(PK):
◎ 是一種index但不能為空值(NULL),PK會自動建立index
◎ 每個table只能有一個PRIMARY Key
◎ 語法為CREATETABLE tablename ( […], PRIMARY KEY (列的列表) );
■ index的觀念:
◎ index建立會占用儲存空間,資料增刪修時會異動
◎ index 欄位長度是越短越好
◎ index 欄位長度若是固定比變動好
◎ 使用「LIKE」參數時,若將萬用字元(%)置於關鍵詞後方,可以使用到 index,前方不起作用
◎ 單列索引與多列索引的觀念:
▲ 將「A+B+C」設為 index 時,僅搜尋A是不會用到索引的
▲ 「A+B+C」和「A」設為 index不同,如搜尋A+B+C,前者直接回覆A+B+C索引值,後者為A用索引,縮小範圍後再以搜尋B+C