Unselective indexes and skewed data distribution
本文章是關(guān)于索引選擇和數(shù)據(jù)傾斜度關(guān)系鹦蠕,以及對(duì)應(yīng)的優(yōu)化签餐。
概念:
選擇性索引:索引具備選擇性:如果針對(duì)某個(gè)字段存在多個(gè)數(shù)值异剥,且每個(gè)數(shù)值數(shù)據(jù)條數(shù)比較少。
數(shù)據(jù)傾斜:表示某個(gè)字段的數(shù)值存在分部不均,大量集中幾個(gè)數(shù)值枢纠。
直方圖:在分析表或索引時(shí)肤寝,直方圖用于記錄數(shù)據(jù)的分布当辐。(構(gòu)造直方圖最主要的原因就是幫助優(yōu)化器在表中數(shù)據(jù)嚴(yán)重偏斜時(shí)做出更好的規(guī)劃,否則就會(huì)出現(xiàn)優(yōu)化器直接跳過(guò)索引任何查詢都進(jìn)行全表查詢)
總結(jié):
1鲤看、在數(shù)據(jù)傾斜分布時(shí)
a缘揪、如果直方圖未生效,非選擇性索引總是不被使用
b、如果直方圖生效找筝,非選擇性索在查詢稀少數(shù)據(jù)被使用蹈垢,查詢大量數(shù)據(jù)不被使用
2、在以下幾種條件之下袖裕,即使索引不具備選擇性曹抬,也可以提高效率
a、數(shù)據(jù)在該字段是傾斜分布
b急鳄、直方圖在該字段生效
c谤民、應(yīng)用經(jīng)常查詢?cè)撟侄蜗∩僦?/p>