日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql性能优化金字塔法则pdf_MySQL索引优化2-优化法则

發布時間:2024/10/6 数据库 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql性能优化金字塔法则pdf_MySQL索引优化2-优化法则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從上圖看到使用name,age,pos建立了一個復合索引,并且排序順序為name->age->pos。使用此表結構來說一下索引優化和索引失效。

大概總結分為一下幾點

  • 全值匹配我最愛(怎么建怎么用)

從三條語句中看出三條語句都用到了索引,而且type類型為ref,where后面的條件越來越多精度越來越高,精度越來越高帶來的就是長度和花費的代價也就越來越多(key_len由74-78-140,ref從一個常量變為3個常量)。但是來看下面的情況。

綜合上述,我們建的索引是nameAgePos,但是沒有了開頭的name,如果打破前面創建的索引規則,把where條件剔除掉,使用age和pos或pos來查詢的話,緊接著看到的就是全表掃描。沒有使用到索引。結合我們下面的說法,就是違背了最佳作前綴法則

  • 最佳作前綴法則

如果索引了多列,要遵守最左前綴法則。指的是查詢從索引的最左前列開始并且 不跳過索引中的列。綜合起來口訣:帶頭大哥不能死。

我們可以這么聯想,我們創建的索引是nameAgePos,name就好比火車的車頭,而后面的age和pos就是車廂,火車頭自己可以跑,所以說,單獨有name的時候索引沒有失效。有火車頭帶著一個車廂也能跑得起來(name,age)。沒了車頭車廂也不用說只能晾干了。

再來看一個例子

我們把中間的age去掉,顯而易見看到理論和實際都使用了索引,ref也是使用常量。但是兩個key_len都是62,說明索引并不是全職匹配而是部分匹配。綜合口訣:中間兄弟不能斷。

  • 不在索引列上做任何操作(計算、函數、(自動or手動)類型轉換),會導致索引失效而轉向全表掃描

相同結果,做出的東西是一樣的,但是分析出的性能卻差得多。口訣:索引列上少計算

  • 存儲引擎不能使用索引中范圍條件右面的列

我們可以看到索引執行的四條中,前三條的type類型都是ref,根據where條件的精度key_len也都在增加,最后一條由于age使用了范圍搜索,導致age后的查詢條件失效,key_len還是66。綜合口訣:范圍之后全失效。

  • 盡量使用覆蓋索引(只訪問索引的查詢(索引列和查詢列一直)),減少select *。

首先看第一條和第二條的對比,使用*和使用索引列去查詢返回的Extra是多了一個using index(用什么取什么會比寫*要好很多)。第三條雖然使用了范圍查詢導致后面的查詢條件失效,但是age確是從索引上拿此時key_len的長度為62,而且type也沒有使用range而是ref,效果有所提升。第四條同樣是根據name,age,pos查詢,條件為等于的type相同,key_len確為66,ref為兩個常量,此時的查詢也比較優秀。還有一種情況只需要個別字段(第五條),也可以使用using index。

  • MySQL在使用不等于(!= 或<>)的時候無法使用索引會導致全表掃描

這個時候不能因為會導致索引失效,而不寫,但是得知道這種情況下會導致失效,改寫的時候還是也要寫。最重要還是看生產環境、業務、技術。具體業務具體分析。

  • is null,is not null 也無法使用索引

  • like以通配符開頭('%abc...')mysql索引失效回變成全表掃描的操作

從上述結果看出,只有百分號在右面的才能避免索引失效。且type是range。綜合口訣:百分like加右面。

那么如何解決百分號在左邊導致全表掃描的問題呢?

我們的解決辦法是使用覆蓋索引 like字符串時索引失效

  • 字符串不加單引號索引失效

  • 少用or,用它來連接時回索引失效

以上就是索引優化的一些方法,根據上面的例子總結出的一些口訣如下:

  • 全值匹配我最愛,最左前綴要遵守
  • 帶頭大哥不能死,中間兄弟不能斷(永遠要符合最佳左前綴原則)
  • 索引列上無計算(計算、函數、(自動、手動)類型轉換),范圍之后全失效
  • like百分寫最右,覆蓋索引不寫星
  • 不等控制還有or,索引失效要少用
  • var引號不能丟,SQL優化也不難
  • 小例子:

    總結

    以上是生活随笔為你收集整理的mysql性能优化金字塔法则pdf_MySQL索引优化2-优化法则的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: av东方在线 | 操操网| av影片在线看 | 超碰青青操 | 9l视频自拍蝌蚪9l视频 | 夜夜操夜夜爱 | 少妇影院在线观看 | 亚洲毛片一区二区三区 | 嫩模被强到高潮呻吟不断 | 欧美一区二区三区成人片在线 | av鲁丝一区鲁丝二区鲁丝 | 国产亚洲欧美日韩高清 | 牛牛澡牛牛爽一区二区 | 日本免费中文字幕 | 香港三级日本三级韩国三级 | 美女131爽爽爽做爰视频 | 亚洲视频免费播放 | h片在线观看网站 | 国内自拍偷拍网 | 亚色影库 | 特级淫片aaaaaaa级附近的 | a级片毛片| 在线中文字幕日韩 | 亚洲理论视频 | 熊猫av| 97精品人妻一区二区三区蜜桃 | 在线亚洲免费 | 人人看人人澡 | 国产精品国产三级国产专区51区 | 98久久久| 91免费视频播放 | 色一涩| 最新极品jizzhd欧美 | 性欧美大战久久久久久久免费观看 | 午夜性片 | 日本免费久久 | 伊人久久99| 亚洲社区一区二区 | avav亚洲 | 免费av福利 | 99国产视频 | 99国内揄拍国内精品人妻免费 | 国产尤物精品 | 成人国产在线观看 | 9久久9毛片又大又硬又粗 | 久草电影网站 | av资源免费 | 一本久道视频一本久道 | 成人在线三级 | 成人a区| 久久国产在线视频 | 男人影院在线观看 | 一级黄色性生活视频 | 午夜av成人 | 国产欧美日韩成人 | 日韩毛片一级 | 超碰夫妻 | www.haoav| 韩国精品视频在线观看 | 亚洲av乱码一区二区 | 精品亚洲一区二区三区 | 97超在线 | 精品国产免费人成在线观看 | 久久成人动漫 | 免费毛片网站在线观看 | 人妻一区二区三区视频 | 中文字幕韩日 | 国产极品一区二区 | 九九激情视频 | 一二三区av| 国产精品亚洲lv粉色 | 特大巨交吊性xxxx | 先锋资源国产 | 极品尤物在线观看 | 亚洲伦理一区 | 成人免费毛片果冻 | 中文字幕av一区二区 | 国产一区二区高清视频 | 自拍偷拍麻豆 | 国产精品一区av | 欧美激情18 | 久久久久久av无码免费网站 | 精品无码av一区二区三区不卡 | 久久av色 | 黑人和白人做爰 | 国产精品yy | 国产精品三区在线观看 | 在线看成人片 | 无码久久av一区二区三区 | 亚洲精品一区三区三区在线观看 | 精品久久久久久久无码 | 夜色资源网 | 免费看女人裸体 | 久久精品噜噜噜成人 | 不卡视频在线观看免费 | 欧美 亚洲 另类 激情 另类 | 中文字幕精品一区二区精 | 在线观看毛片视频 | 国产午夜精品久久久久久久久久 |