索引是創(chuàng)建在表上的,對數(shù)據(jù)庫表中一列或多列的值進(jìn)行排序的一種結(jié)構(gòu)
其作用主要在于提高查詢的速度,降低數(shù)據(jù)庫系統(tǒng)的性能開銷
通過索引,查詢數(shù)據(jù)不必讀完記錄的全部信息進(jìn)行匹配,而是只查詢索引列
索引相當(dāng)于字典中的音序表,要查詢某字時可以在音序表中找到
然后直接跳轉(zhuǎn)到那一音序所在位置,而不必從字典第一頁開始翻,逐字匹配
tips:索引雖能提高查詢速度,但在插入記錄時會按照索引進(jìn)行排序,因此降低了插入速度
最好的操作方式是先刪除索引,插入大量記錄后再創(chuàng)建索引
索引分類
1.普通索引:不附加任何限制條件,可創(chuàng)建在任何數(shù)據(jù)類型中
2.唯一性索引:使用unique參數(shù)可以設(shè)置索引為唯一性索引,在創(chuàng)建索引時,限制該索引的值必須唯一,主鍵就是一種唯一性索引
3.全文索引:使用fulltext參數(shù)可以設(shè)置索引為全文索引。全文索引只能創(chuàng)建在char、varchar或text類型的字段上。查詢數(shù)據(jù)量較大的字符串類型字段時,效果明顯。但只有MyISAM存儲引擎支持全文檢索
4.單列索引:在表中單個字段上創(chuàng)建的索引,單列索引可以是任何類型,只要保證索引只對應(yīng)一個一個字段
5.多列索引:在表中多個字段上創(chuàng)建的索引,該索引指向創(chuàng)建時對應(yīng)的多個字段
6.空間索引:使用spatial參數(shù)可以設(shè)置索引為空間索引,空間索引只能建立在空間數(shù)據(jù)類型上比如geometry,并且不能為空,目前只有MyISAM存儲引擎支持
在創(chuàng)建表時創(chuàng)建索引
創(chuàng)建普通索引
創(chuàng)建唯一性索引
這里的id字段可以不設(shè)置唯一性約束,但這樣一來索引就沒有作用
創(chuàng)建全文索引
新聞熱點
疑難解答
圖片精選