在選擇索引和編寫利用這些索引的查詢時,有如下3個原則始終需要記住:
單行訪問是很慢的。
特別是在機械硬碟儲存中(ssd的隨機i/o要快很多,不過這一點仍然成立)。如果伺服器從儲存中讀取乙個資料塊只是為了獲取其中一行,那麼就浪費了許多任務作。最好讀取的塊中能包含盡可能多所需要的行。使用索引可以建立位置引用以提公升效率。
按順序訪問範圍資料是很快的。
原因1:順序i/o不需要多次磁碟尋道,所以比隨機i/o要快很多(特別是對機械硬碟)。
原因2:如果伺服器能夠按需要順序讀取資料,那麼就不需要額外的排序操作,並且group by 查詢也無須再做排序和將行按組進行聚合計算了。
索引覆蓋查詢是很快的。
如果乙個索引包含了查詢所需要的所有列,那麼儲存引擎就不需要再回表查詢行。這避免了大量的單行訪問。
總的來說:編寫查詢語句,應該盡可能選擇合適的索引以避免單行查詢,盡可能地使用資料原生順序從而避免額外的排序操作,並盡可能使用索引覆蓋查詢。
華爾街三原則
華爾街三原則 第一原則 不要花自己的錢辦事。有人說了 那我找那個傻瓜去要錢去?在這個經濟第一的世界裡,社會生活的主要表現方式就是資源的產生 轉移和轉化。人人都有資源,什麼機構也都有資源,僅僅也就是數量 質量和表現方式的不同。有的人有錢,有的人有技術,有的人有絕活,有的企業長於生產,有的企業長於諮詢,...
招聘三原則
讓合適的人上車,並安排他們坐在合適的座位上,同時讓不合適的人下車,然後再考慮怎麼把車開到某個卓越之地。這是柯林斯的暢銷書 從優秀到卓越 good to great 中的一句話,現在已經成了企業最流行的一種說法。經理人都在談論,企業要取得更好的業務結果,人的因素很重要。可實際上,他們當中有很多人並沒有...
招聘三原則
讓合適的人上車,並安排他們坐在合適的座位上,同時讓不合適的人下車,然後再考慮怎麼把車開到某個卓越之地。這是柯林斯的暢銷書 從優秀到卓越 good to great 中的一句話,現在已經成了企業最流行的一種說法。經理人都在談論,企業要取得更好的業務結果,人的因素很重要。可實際上,他們當中有很多人並沒有...