1. 程式人生 > >mysql mysql中的索引

mysql mysql中的索引

一、索引的分類

  1. 普通索引
  2. 唯一性索引
    unique約束設定唯一索引,主鍵是一種特殊的唯一索引。
  3. 全文索引
    查詢較大資料量時,使用全文索引可以提高查詢速度。
  4. 單列索引
    包括以上三個索引
  5. 多列索引
  6. 空間索引

二、建立索引

1. 在建立資料表時建立索引

create table table_name(
	屬性名 資料型別 [約束條件],
	...
	屬性名 資料型別 [UNIQUE|FULLTEXT|SPATIAL] index|key [別名](s屬性名[長度][ASC|DESC])
);
  • UNIQUE : 可選項,表明索引為唯一性索引。
  • FULLTEST : 可選項,表明索引為唯一性索引。
  • SPATIAL : 可選項,表明索引為空間索引。 index和key引數用於指定欄位索引,在使用者選擇時,只需要選擇其中一個即可;另外別名為可選項。其作用時給建立的索引取新的名稱;別名的引數如下:
    (1)屬性名 :指索引對應的欄位名稱,該欄位必須被預先定義。
    (2)長度 :可選項,指索引的長度,必須是字串型別才能使用。
    (3)ASC/DESC :可選項,ASC表示升序排列,DESC引數表示降序排列。

2. 在已建立的資料表中建立索引

create [unique|fulltext|spatial] index index_name on table_name(屬性[length][ASC|DESC]);
  • index_name : 索引名稱。
  • table_name : 指定建立索引的表名稱。
  • 可選引數 :指定索引型別。
  • 屬性引數 :指定索引對應的欄位。
  • length : 指定索引長度。
  • ASC/DESC : 指定資料庫表的排序順序。

3. 修改資料表結構新增索引

alter table table_name add [unique|fulltext|spatial] index index_name(屬性名[(length)[ASC|DESC]])

4. 刪除所有

drop index index_name on