1. 程式人生 > >索引的理解

索引的理解

什麼時候要使用索引?

  • 主鍵自動建立唯一索引;
  • 經常作為查詢條件在WHERE或者ORDER BY 語句中出現的列要建立索引;
  • 作為排序的列要建立索引;
  • 查詢中與其他表關聯的欄位,外來鍵關係建立索引
  • 高併發條件下傾向組合索引;

什麼時候不要使用索引?

  • 經常增刪改的列不要建立索引;
  • 有大量重複的列不建立索引;
  • 表記錄太少不要建立索引;

常見的索引型別有:主鍵索引、唯一索引、普通索引、全文索引、組合索引

1、主鍵索引:即主索引,根據主鍵pk_clolum(length)建立索引,不允許重複,不允許空值;

ALTER TABLE 'table_name' ADD PRIMARY KEY('col');

2、唯一索引:用來建立索引的列的值必須是唯一的,允許空值

ALTER TABLE 'table_name' ADD UNIQUE('col');

3、普通索引:用表中的普通列構建的索引,沒有任何限制

ALTER TABLE 'table_name' ADD INDEX index_name('col');

4、全文索引:用大文字物件的列構建的索引(下一部分會講解)

ALTER TABLE 'table_name' ADD FULLTEXT('col');

5、組合索引:用多個列組合構建的索引,這多個列中的值不允許有空值

ALTER TABLE 'table_name' ADD INDEX index_name('col1','col2','col3');