MySql為以下這些操作使用索引:
創(chuàng)新互聯(lián)建站主營平原網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app開發(fā)定制,平原h(huán)5微信小程序定制開發(fā)搭建,平原網(wǎng)站營銷推廣歡迎平原等地區(qū)企業(yè)咨詢
1、為了快速查找匹配WHERE條件的行。
2、為了從考慮的條件中消除行。如果在多個索引之間選擇一個,正常情況下,MySql使用找到行的最小數(shù)量的那個索引。
3、如果表有一個multiple-column索引,任何一個索引的最左前綴可以通過使用優(yōu)化器來查找行。例如,如果你有一個 three-column索引在(col1, col2, col3),你能搜索索引在(col1), (col1, col2),和 (col1, col2, col3)。
key 是數(shù)據(jù)庫的物理結(jié)構(gòu),它包含兩層意義,一是約束(偏重于約束和規(guī)范數(shù)據(jù)庫的結(jié)構(gòu)完整性),二是索引(輔助查詢用的)。包括primary key, unique key, foreign key 等。
primary key 有兩個作用,一是約束作用(constraint),用來規(guī)范一個存儲主鍵和唯一性,但同時也在此key上建立了一個index;
unique key 也有兩個作用,一是約束作用(constraint),規(guī)范數(shù)據(jù)的唯一性,但同時也在這個key上建立了一個index;
foreign key也有兩個作用,一是約束作用(constraint),規(guī)范數(shù)據(jù)的引用完整性,但同時也在這個key上建立了一個index;
(1)我們說索引分類,分為主鍵索引、唯一索引、普通索引(這才是純粹的index)等,也是基于是不是把index看作了key。?比如 create table t(id int, unique index inx_tx_id ?(id)); ?--index當(dāng)作了key使用。
(2)最重要的也就是,不管如何描述,理解index是純粹的index,還是被當(dāng)作key,當(dāng)作key時則會有兩種意義或起兩種作用。
索引的意義 ·索引在數(shù)據(jù)庫中的作用相當(dāng)于目錄在書籍中的作用類似,都用來提高查找信息的速度。 ·索引是一個表中所包含值的列表,其中注明了表中包含各個值的行所在的存儲位置,使用索引查找數(shù)據(jù)時,先從索引對象中獲得相關(guān)列的存儲位置,然后再直接去其存儲位置查找所需信息,這樣就無需對這個表進(jìn)行掃描,從而可以快速的找到所需數(shù)據(jù)。