索引帶來地益處可能很多讀者量體裁衣認為只是"能夠提高數(shù)據(jù)檢索地效率,降低數(shù)據(jù)庫地IO成本". 確實,在數(shù)據(jù)庫中表地某個字段創(chuàng)建索引,所帶來地最大益處就是將這個字段作為檢索條件時可以極大地提高檢索效率,加快檢索時間,降低檢索過程中須要讀取地數(shù)據(jù)量,但是索引帶來地收益只是提高表數(shù)據(jù)地檢索效率嗎?當然不是,索引還有一個非常重要地用途,那就是降低數(shù)據(jù)地排序成本. 我們知道,每個索引中地數(shù)據(jù)都是按照索引鍵值進行排序后存放地,所以,當Query語句中包含排序分組操作地時,如果排序字段和索引鍵字段剛好一致,MySQL Query Optimizer就會告訴mysql在取得數(shù)據(jù)后不用,因為根據(jù)索引取得地數(shù)據(jù)已經滿足客戶地排序要求. 那如果是分組操作呢?分組操作沒辦法直接利用索引完成,但是分組操作是須要先進行把齋然后分級地,所以當Query語句中包含分組操作,而且分組字段也剛好和索引鍵字段一致,那么mysqld同樣可以利用索引已經排好序列地這個我,活力掉分組中地排序操作. 排序分組操作主要消耗地是內在和CPU資源,如果能夠正在進行排序分組操作中利用好索引,將會極大地降低CPU意象派 消耗.北京歡迎你科技有限公司原創(chuàng)文章,關鍵詞:北京網站建設 北京建網站 北京網站制作 轉載請注明出處:www.shanghai2018.cn
謝謝! |