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

歡迎訪問 生活随笔!

生活随笔

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

数据库

MySQL -通过调整索引提升查询效率

發布時間:2023/12/13 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL -通过调整索引提升查询效率 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

 

我們遇到的最容易引起困惑的問題就是索引列的順序。正確的順序依賴于使用該索引的查詢,并且同時需要考慮如何更好地滿足排序和分組的需要(順便說明,本節內容適用于B-Tree索引;哈希或者其他類型的索引并不會像B-Tree索引一樣按順序存儲數據)。
在一個多列B-Tree索引中,索引列的順序意味著索引首先按照最左列進行排序,其次是第二列,等等。所以,索引可以按照升序或者降序進行掃描,以滿足精確符合列順序的ORDER BY、GROUP BY和DISTINCT等子句的查詢需求。
所以多列索引的順序至關重要。在“三星索引”系統中,列順序也決定了一個索引是否能夠成為一個真正的“三星索引”。
對于如何選擇索引的列順序有一個經驗法則:將選擇性最高的列放到索引最前列。這個建議有用嗎?在某些場景可能有幫助,但通常不如避免隨機IO和排序那么重要,考慮問題需要更全面(場景不同則選擇不同,沒有一個放之四海皆準的法則。這里只是說明,這個經驗法則可能沒有你想象的重要)。
當不需要考慮排序和分組時,將選擇性最高的列放在前面通常是很好的。這時候索引的作用只是用于優化WHERE條件的查找。在這種情況下,這樣設計的索引確實能夠最快地過濾出需要的行,對于WHERE子句中只使用了索引部分前綴列的查詢來說選擇性也更高。然而,性能不只是依賴于所有索引列的選擇性(整體基數),也和查詢條件的具體值有關,也就是和值的分布有關。這和選擇前綴的長度需要考慮的地方一樣。可能需要根據那些運行頻率最高的查詢來調整索引列的順序,讓這種情況下索引的選擇性最高。

 

一個文章庫,里面有兩個表:category和article。category里面有10條分類數據。article里面有20萬條。articl

總結

以上是生活随笔為你收集整理的MySQL -通过调整索引提升查询效率的全部內容,希望文章能夠幫你解決所遇到的問題。

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