在數(shù)據(jù)庫物理設計階段,為數(shù)據(jù)表創(chuàng)建索引的目的是:提高查詢的檢索能力、提高查詢效率。索引是對數(shù)據(jù)表中一個或多個列的值進行排序的一種結(jié)構(gòu),建立索引可以極大地提高在數(shù)據(jù)庫中獲取所需信息的速度,同時還能提高服務器處理相關(guān)搜索請求的效率。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在數(shù)據(jù)庫物理設計階段,為數(shù)據(jù)表創(chuàng)建索引的目的是:提高查詢的檢索能力、提高查詢效率。
索引是對數(shù)據(jù)庫表中一列或多列的值進行排序的一種結(jié)構(gòu),使用索引可快速訪問數(shù)據(jù)庫表中的特定信息。如果想按特定職員的姓來查找他或她,則與在表中搜索所有的行相比,索引有助于更快地獲取信息。
索引的一個主要目的就是加快檢索表中數(shù)據(jù),亦即能協(xié)助信息搜索者盡快的找到符合限制條件的記錄ID的輔助數(shù)據(jù)結(jié)構(gòu)。
創(chuàng)建索引可以大大提高系統(tǒng)的性能。第一,通過創(chuàng)建唯一性索引,可以保證數(shù)據(jù)庫表中每一行數(shù)據(jù)的唯一性。第二,可以大大加快數(shù)據(jù)的檢索速度,這也是創(chuàng)建索引的最主要的原因。第三,可以加速表和表之間的連接,特別是在實現(xiàn)數(shù)據(jù)的參考完整性方面特別有意義。第四,在使用分組和排序子句進行數(shù)據(jù)檢索時,同樣可以顯著減少查詢中分組和排序的時間。第五,通過使用索引,可以在查詢的過程中,使用優(yōu)化隱藏器,提高系統(tǒng)的性能。
因為,增加索引也有許多不利的方面。第一,創(chuàng)建索引和維護索引要耗費時間,這種時間隨著數(shù)據(jù)量的增加而增加。第二,索引需要占物理空間,除了數(shù)據(jù)表占數(shù)據(jù)空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大。第三,當對表中的數(shù)據(jù)進行增加、刪除和修改的時候,索引也要動態(tài)的維護,這樣就降低了數(shù)據(jù)的維護速度。
相關(guān)免費學習推薦:mysql視頻教程