mysql中的索引作用及類型分類

一、簡介

索引的作用:

索引是一種對數據庫的某一列、或者多列的值進行排序的存儲結構。索引相當於一本書中的目錄,通過目錄可以快速定位到某一節的內容,而不用一頁一頁的翻閱查找。

二、mysql中的索引類型

  • 普通索引
  • 唯一索引
  • 主鍵索引
  • 組合索引
  • 全文索引

三、索引詳解

1、普通索引

沒有加任何的限定的,默認即爲普通索引,創建方式如下

CREATE INDEX index_name ON table_name(column(length))

2、唯一索引

唯一索引和普通索引不同的是,唯一索引的值必須唯一,允許爲空值,創建方式如下;

CREATE UNIQUE INDEX index_name ON table(column(length))

3、主鍵索引

主鍵索引是特殊的唯一索引,一個表中只能有一個主鍵,創建方式如下:

CREATE TABLE table_name(
    id int(11) AUTO_INCREMENT,
    PRIMARY KEY("id")
);

4、組合索引

在多個列中創建索引,使用組合索引時遵循最左匹配原則

ALTER TABLE table_name ADD INDEX index_name(id,age,name);

5、全文索引

全文索引用於查找關鍵字,而不是簡單的與索引中的值比較。fulltext索引與普通索引不相同,它更像是一種搜索引擎,並非簡單使用where like語法查找,而是使用match against操作。目前支持的類型有char、varchar、text,創建方式如下:

CREATE TEABLE table_name(
    id int(11),
    content text,
    FULLTEXT(content)
)

四、創建索引的缺點

索引雖好,可以提高查詢速度,但它也有自己的缺點,缺點如下:

1、更新表的速度下降了,如insert、delete、update操作,由於更新表的數據會同時跟新索引文件,因此更新表的速度下降了。

2、由於需要額外的數據結構存儲索引,因此建立索引會佔用一定的磁盤空間。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章