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,前方不起作用

        單列索引與多列索引的觀念:

        將「ABC」設為 index 時,僅搜尋A是不會用到索引的

        ABC」和「A」設為 index不同,如搜尋ABC,前者直接回覆A+B+C索引值,後者為A用索引,縮小範圍後再以搜尋BC


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

創作者介紹

麥克的學習紀錄

miggo 發表在 痞客邦 PIXNET 留言(3) 人氣()


留言列表 (3)

發表留言
  • Pork Jackson
  • 請問大大,意思就是,簡單的講,如果某個資料列我希望它能被搜尋(且有效率的被搜尋),那麼就設為key,然後如果某資料列,它不得重複,比方註冊的email,那麼就設為Unique,如果它必須產生唯一性質的編號,比方ID,那麼就設為PRIMARY KEY,我這樣理解對嗎?感恩@@
  • Benson
  • 謝謝分享,寫的很詳細
找更多相關文章與討論