MySql:索引的分類、創建、刪除

目錄

 

一、索引的介紹

二、索引的分類

三、索引的創建與刪除


一、索引的介紹

索引:是創建在數據庫表中,是對數據庫表中的一列或者多列的值進行排序的一種結果。

作用:提高查詢效率(B樹 / 哈希結構)

索引優點:

提高查詢效率

索引缺點:

索引並非越多越好,過多的索引會導致CPU使用率降低,由於數據的改動會引起索引文件的改動,過多的索引會引起磁盤I/O頻繁,造成CPU負荷太重。

(創建一個的索引,是以文件的形式存儲的,用這個索引,先要把對應的索引的文件從磁盤加載到內存上,從內存上先讀索引,通過索引找數據。如果索引越多,那麼創建文件就越多,這是除了數據本身,需要額外佔用的空間,索引的讀取是需要 磁盤與內存的一個交互,是一個IO的過程,索引越多,交互越頻繁,對系統性能有所影響)

索引是數據的目錄,能快速定位數據的位置。

MYD :   數據       MYI : 索引 (數據結構)

索引是有代價的,提高了查詢速度,降低了增,刪,改的速度。(目錄會相應改變)

一般在查詢比較頻繁的列上加,重複度低的列加,效果好。

比如,身份證號加,好。男女性別,加,意義不大。

二、索引的分類

普通索引:

沒有任何限制條件,可以給任意類型的字段創建普通索引

唯一性索引:

使用 unique 修飾的字段,值不能重複,主鍵索引隸屬於唯一性索引

主鍵索引:

使用 primary key 修飾的字段會自動創建索引 (InnoDB存儲引擎)

單列索引:

在一個字段上創建索引

多列索引:

在表的多個字段上創建索引,把兩列或多列的值看成一個整體,然後建立索引

全文索引:

使用 fulltext 參數可以設置全文索引,只支持char、varchar、text 類型的字段上,

常用於數據量比較大的字符串類型上,可以提高查詢速度;只有MyIsam存儲引擎支持

三、索引的創建與刪除

 

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