2019-08-17第十講:Mysql會選錯索引[mysql實戰(zhàn)45講]

1. 復現例子.?

2.例子對應的是不斷刪除歷史數據, 然后insert新數據的場景.?


1.優(yōu)化器的邏輯:?

? ? 1.優(yōu)化器的目的: 找到一個最優(yōu)的執(zhí)行方案

? ? 2.最優(yōu)判斷方式: 掃描行數, 是否使用臨時表, 是否排序.?

? ?3.掃描行數是如何判斷的 ??

? ? ? ? 1.根據統計信息估算

? ? ? ? ? ? 統計信息==> 索引的區(qū)分度

? ? ? ? ? ? 索引上不同值的個數 ==> 基數

? ? ? ? ? ? ==> 基數越大,區(qū)分度越高

? ? ? ? ? ? ==> show index? 可以看到基數. cardinality?

? ? ? ? ? ? ? ? ? ? 注意: 實際上基數都應該是10萬,?

1? show index

? ? 4.mysql是怎么得到索引基數的??

? ? ? ? 1. 采樣統計:? 因為全表掃描代價大.?

? ? ? ? ? ? 基數 ==> 默認選擇N個數據頁, 統計頁上的不同值, 得到一個平均值, 乘以這個索引的頁面數.?

? ? ? ? ? ? 因為數據表會持續(xù)更新 ==> 當變更的數據行數超過1/ M的時候, 觸發(fā)一次索引統計.?

? ? ? ? ? ? 兩種存儲索引統計的方式 : innodb_stats_persistent

? ? ? ? ? ? ? ? ==> on ==> 持久化 N=20, M10

? ? ? ? ? ? ? ? ==> off ==> 內存 N=8 M=16

? ? 5.索引統計只是入參, Mysql需判斷SQL語句本身要掃描多少行.

5,意外的 expalin 結果

疑問2: 為什么放著row 30000+的不用, 用100000+的執(zhí)行計劃呢??

? ? 答: 因為回表的時間優(yōu)化器也計算在內

? ? ==> 推斷1: 主鍵索引比普通索引優(yōu)先級高.?

疑問3 :? 為什么會得到錯誤的掃描行數 ??

? ? 6.解決統計信息錯誤 => analyze table? t;?

6 analyze table t 后, explain


2.索引選擇異常和處理

1.解決方案1 : force index? ==> 硬編碼;

2. 修改SQL 引導Mysql

3.新建一個索引, 或者 刪除誤用索引.?

==> 推論3:? 對于優(yōu)化器來說:? 索引統計, 排序,使用臨時表是有同等權重的. (看源碼把)

? ??

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末淌友,一起剝皮案震驚了整個濱河市叶骨,隨后出現的幾起案子畦戒,更是在濱河造成了極大的恐慌箩张,老刑警劉巖霎俩,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異德崭,居然都是意外死亡荔睹,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進店門项阴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來滑黔,“玉大人,你說我怎么就攤上這事鲁冯】椒校” “怎么了?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵薯演,是天一觀的道長撞芍。 經常有香客問我,道長跨扮,這世上最難降的妖魔是什么序无? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮衡创,結果婚禮上帝嗡,老公的妹妹穿的比我還像新娘。我一直安慰自己璃氢,他們只是感情好哟玷,可當我...
    茶點故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著一也,像睡著了一般巢寡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上椰苟,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天抑月,我揣著相機與錄音,去河邊找鬼舆蝴。 笑死谦絮,一個胖子當著我的面吹牛题诵,可吹牛的內容都是我干的。 我是一名探鬼主播层皱,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼性锭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了奶甘?” 一聲冷哼從身側響起篷店,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤祭椰,失蹤者是張志新(化名)和其女友劉穎臭家,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體方淤,經...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡钉赁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了携茂。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片你踩。...
    茶點故事閱讀 40,015評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖讳苦,靈堂內的尸體忽然破棺而出带膜,到底是詐尸還是另有隱情,我是刑警寧澤鸳谜,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布膝藕,位于F島的核電站,受9級特大地震影響咐扭,放射性物質發(fā)生泄漏芭挽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一蝗肪、第九天 我趴在偏房一處隱蔽的房頂上張望袜爪。 院中可真熱鬧,春花似錦薛闪、人聲如沸辛馆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昙篙。三九已至,卻和暖如春术浪,著一層夾襖步出監(jiān)牢的瞬間瓢对,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工胰苏, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留硕蛹,地道東北人。 一個月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像法焰,于是被迫代替她去往敵國和親秧荆。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,969評論 2 355

推薦閱讀更多精彩內容