[Mysql基本觀念] primary Key / Index / Unique差別

[Mysql基本觀念] primary Key / Index / Unique差別

[Mysql基本觀念] primary Key / Index / Unique差別

資料來源:http://miggo.pixnet.net/blog/post/30862194-%5Bmysql%E5%9F%BA%E6%9C%AC%E8%A7%80%E5%BF%B5%5D-primary-key—index—unique%E5%B7%AE%E5%88%A5

■    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

 

 

 



 


發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *