1.非主鍵索引在數據表本身的存儲空間中需要額外的存儲空間,所以更新時可能不僅需要更新數據表本身,還需要更新非主鍵索引,更新內容較多,導致速度下降。反之,如果數據表中的數據按照主鍵索引的順序存儲,更新時就沒有額外的開銷。
2.為了提高查詢速度,非主鍵索引的主要方面是:如果搜索條件(其中...)命中對應的非主鍵索引,就不需要掃描數據表了,效率肯定大大提高。索引的創建和使用是數據庫設計和優化的重要組成部分,是數據庫程序員的必修課。不同數據庫系統的語法不同,但原理基本相同。
3.如果檢索結果的字段包含在非主鍵索引中,即使全掃描非主鍵索引,也比全表字段快,因為只需要將非主鍵索引本身的數據從存儲設備調入內存,節省了IO時間。
擴展數據:
1.選擇唯壹性索引。唯壹性索引的值是唯壹的,通過這個索引可以更快地確定壹條記錄。例如,學生表中的中學編號是壹個唯壹的字段。為該字段建立唯壹的索引,可以快速確定壹個學生的信息。如果使用姓名,可能存在重名現象,從而降低查詢速度。
2.盡量使用數據量少的索引。如果索引的值很長,查詢速度會受到影響。例如,對CHAR(100)類型的字段進行全文搜索肯定比CHAR(10)類型的字段花費更多的時間。
3.嘗試使用前綴進行索引。如果索引字段的值很長,最好使用值的前綴進行索引。例如,對於文本和博客類型的字段,全文檢索將是浪費時間。如果只檢索字段的前幾個字符,可以提高檢索速度。