首頁  >  文章  >  資料庫  >  mysql索引基礎詳解

mysql索引基礎詳解

WJ
WJ轉載
2020-05-30 09:49:222679瀏覽

mysql索引基礎詳解

MySQL—索引基礎


本篇文章中用於測試索引所建立的user表的結構如下:mysql索引基礎詳解


3mysql索引基礎詳解#什麼是索引

#(在MySQL 中也叫「鍵key」)是儲存引擎快速找到記錄的一種資料結構

—《高效能MySQL》

我們需要知道索引其實是一種資料結構,其功能是幫助我們快速匹配查找到需要的數據行,是資料庫效能最佳化最常用的工具之一。其作用相當於超市裡的導購員、書本裡的目錄。 mysql索引基礎詳解

索引類型

可以使用

SHOW INDEX FROM table_name;查看索引詳情

mysql索引基礎詳解

mysql索引基礎詳解

1、主鍵索引PRIMARY KEY

#它是一種特殊的唯一索引,不允許有空白值。一般是在建表的時候同時建立主鍵索引。

mysql索引基礎詳解注意:一個表格只能有一個主鍵

mysql索引基礎詳解

2、唯一索引UNIQUE

唯一索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。

可以透過ALTER TABLE  table_name ADD UNIQUE (column);建立唯一索引

mysql索引基礎詳解

mysql索引基礎詳解

可以透過

ALTER TABLE  table_name ADD UNIQUE (column1,column2)

;建立唯一組合索引

mysql索引基礎詳解

#3、普通索引INDEX

mysql索引基礎詳解最基本的索引,它沒有任何限制。

可以透過

ALTER TABLE  table_name ADD INDEX index_name (column);

建立普通索引

mysql索引基礎詳解

1mysql索引基礎詳解 #4、組合索引INDEX

組合索引,即一個索引包含多個欄位。多用於避免回表查詢。 可以通過

ALTER TABLE  table_name  ADD INDEX index_name(column1, column2, column3);

創建組合索引

5、全文索引FULLTEXT

全文索引(也稱為全文檢索)是目前搜尋引擎使用的關鍵技術。

###可以透過ALTER TABLE table_name ADD FULLTEXT (column);建立全文索引#######################索引一經建立不能修改,如果要修改索引,只能刪除重建。可以使用###DROP INDEX index_name ON table_name;###刪除索引。 #########索引設計的原則#########1、適合索引的欄位是出現在where子句中的資料列,或是連接子句中指定的欄位#### ##2、基數較小的類,索引效果較差,沒有必要在此列建立索引######3、使用短索引,如果對長字串列進行索引,應該指定一個前綴長度,這樣能夠節省大量索引空間######4、不要過度索引。索引需要額外的磁碟空間,並降低寫入操作的效能。在修改表格內容的時候,索引會更新甚至重構,索引列越多,這個時間就會越長。所以只保持需要的索引有利於查詢即可。 ###

相關參考php中文網

#

以上是mysql索引基礎詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51dev.com。如有侵權,請聯絡admin@php.cn刪除