[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

■    分析索引效率指令為:EXPLAIN  <select語法>

posted @ 2012-07-12 15:48  日光之下无新事  阅读(224)  评论(0编辑  收藏  举报