MySQL—索引基礎
本篇文章中用於測試索引所建立的user表的結構如下:
#什麼是索引
#(在MySQL 中也叫「鍵key」)是儲存引擎快速找到記錄的一種資料結構—《高效能MySQL》我們需要知道索引其實是一種資料結構,其功能是幫助我們快速匹配查找到需要的數據行,是資料庫效能最佳化最常用的工具之一。其作用相當於超市裡的導購員、書本裡的目錄。
索引類型
可以使用SHOW INDEX FROM table_name;查看索引詳情
1、主鍵索引PRIMARY KEY
注意:一個表格只能有一個主鍵
2、唯一索引UNIQUE
唯一索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。
可以透過ALTER TABLE table_name ADD UNIQUE (column);
建立唯一索引
可以透過
ALTER TABLE table_name ADD UNIQUE (column1,column2);建立唯一組合索引
最基本的索引,它沒有任何限制。
可以透過
ALTER TABLE table_name ADD INDEX index_name (column);建立普通索引
#4、組合索引INDEX
組合索引,即一個索引包含多個欄位。多用於避免回表查詢。 可以通過
創建組合索引
5、全文索引FULLTEXT
全文索引(也稱為全文檢索)是目前搜尋引擎使用的關鍵技術。
###可以透過ALTER TABLE table_name ADD FULLTEXT (column);建立全文索引#######################索引一經建立不能修改,如果要修改索引,只能刪除重建。可以使用###DROP INDEX index_name ON table_name;###刪除索引。 #########索引設計的原則#########1、適合索引的欄位是出現在where子句中的資料列,或是連接子句中指定的欄位#### ##2、基數較小的類,索引效果較差,沒有必要在此列建立索引######3、使用短索引,如果對長字串列進行索引,應該指定一個前綴長度,這樣能夠節省大量索引空間######4、不要過度索引。索引需要額外的磁碟空間,並降低寫入操作的效能。在修改表格內容的時候,索引會更新甚至重構,索引列越多,這個時間就會越長。所以只保持需要的索引有利於查詢即可。 ###相關參考php中文網
以上是mysql索引基礎詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!