- 普通索引:僅加速查詢
- 唯一索引:加速查詢 + 列值唯一(可以有null)
- 主鍵索引:加速查詢 + 列值唯一(不可以有null)+ 表中只有一個
- 組合索引:多列值組成一個索引,專門用于組合搜索,其效率大于索引合并
- 全文索引:對文本的內(nèi)容進行分詞,進行搜索
- 索引合并:使用多個單列索引組合搜索
- 覆蓋索引:select的數(shù)據(jù)列只用從索引中就能夠取得,不必讀取數(shù)據(jù)行,換句話說查詢列要被所建的索引覆蓋
- 聚簇索引:表數(shù)據(jù)是和主鍵一起存儲的,主鍵索引的葉結(jié)點存儲行數(shù)據(jù)(包含了主鍵值),二級索引的葉結(jié)點存儲行的主鍵值。使用的是B+樹作為索引的存儲結(jié)構(gòu),非葉子節(jié)點都是索引關(guān)鍵字,但非葉子節(jié)點中的關(guān)鍵字中不存儲對應記錄的具體內(nèi)容或內(nèi)容地址。葉子節(jié)點上的數(shù)據(jù)是主鍵與具體記錄(數(shù)據(jù)內(nèi)容)
為什么使用索引?索引有哪些好處?
- 通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性。
- 可以大大**加快數(shù)據(jù)的檢索速度,**這也是創(chuàng)建索引的最主要的原因。
- 幫助服務(wù)器避免排序和臨時表
- 將隨機IO變?yōu)轫樞騃O。
- 可以加速表和表之間的連接 ( 索引允許數(shù)據(jù)庫引擎快速定位表中的數(shù)據(jù),特別是在連接多個表時,索引可以極大地加速JOIN操作。通過在連接列上創(chuàng)建索引,數(shù)據(jù)庫可以快速定位連接所需的數(shù)據(jù),而不必掃描整個表。這對于復雜的查詢和數(shù)據(jù)關(guān)系非常有意義。)
- 特別是在實現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。 (在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)的完整性是至關(guān)重要的。索引可以幫助維護數(shù)據(jù)的完整性,尤其是在使用外鍵時。通過在外鍵列上創(chuàng)建索引,可以確保引用表中的數(shù)據(jù)與主表中的數(shù)據(jù)保持一致。這可以防止插入或更新數(shù)據(jù)時出現(xiàn)不一致。)
文章來源地址http://www.zghlxwxcb.cn/news/detail-723500.html
文章來源:http://www.zghlxwxcb.cn/news/detail-723500.html
到了這里,關(guān)于MySQl有哪些索引(種類)?索引特點?為什么要使用索引?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!