開(kāi)發(fā)提問(wèn)03索引

  1. 索引優(yōu)化的方案

  1. 使用explain分析語(yǔ)句
  1. 針對(duì)常用的where , order by 字段添加索引
  1. 不要使用超過(guò)3個(gè)索引在同一張表
  1. 不要查詢多余字段 , 盡量使用覆蓋索引
  1. 避免索引失效的情況 : 最左前綴
  1. left join左邊的表要使用相對(duì)小的表
  1. 列舉索引失效的情況

  1. 違背最左前綴
  1. like + "%.."
  1. 查詢條件不要使用表達(dá)式或者mysql函數(shù)
  1. 字符字段查詢不使用引號(hào)
  1. 對(duì)索引的理解

  1. 什么是索引?

mysql引擎用來(lái)快速尋找記錄的數(shù)據(jù)結(jié)構(gòu)

  1. 索引作用 : 通過(guò)縮小查詢范圍查找目標(biāo)記錄, 提高查詢效率, 簡(jiǎn)紹查詢IO次數(shù)
  1. 索引分類 [引擎角度] : 主鍵 , 唯一 , 普通 , 覆蓋 , 聯(lián)合 , 全文
  1. 索引分類[存儲(chǔ)角度] : 聚集索引和非聚集索引
  1. 索引的原理 : 二分查詢 + B+樹(shù)結(jié)構(gòu) + 局部性原理 按頁(yè)大小將全部記錄分成若干個(gè)頁(yè); 從B+tree頂端開(kāi)始二分查找 ; 找到目標(biāo)記錄所在的葉節(jié)點(diǎn), 讀取整頁(yè)到內(nèi)存區(qū), 在一頁(yè)中遍歷找到需要的記錄; 查詢的IO次數(shù)等于B+樹(shù)的高度
  1. 索引數(shù)據(jù)結(jié)構(gòu)
  1. hash
  1. B+tree
  1. 局部性原理
  1. 系統(tǒng)分頁(yè)大小 : 一頁(yè)訪問(wèn)字節(jié)數(shù)受 32位 / 64位主存寬度影響 (8kb)
  1. innodbPage : 在第一點(diǎn)的基礎(chǔ)上優(yōu)化, 一頁(yè)大小默認(rèn)16kb , 減少50%的IO次數(shù)
  1. 索引優(yōu)化方向

注釋:

查詢優(yōu)化本質(zhì)是索引優(yōu)化

推薦博客 : https://www.cnblogs.com/bypp/p/7755307.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容