欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文帶你理解MySql中explain結果filtered

 更新時間:2022年09月09日 14:55:00   作者:xszhaobo  
使用EXPLAIN關鍵字可以模擬優(yōu)化器執(zhí)行SQL查詢語句,從而知道MySQL是如何處理你的SQL語句的,下面這篇文章主要給大家介紹了關于MySql中explain結果filtered的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

MySql explain語句的返回結果中,filtered字段要怎么理解?

MySql5.7官方文檔中描述如下:

The filtered column indicates an estimated percentage of table rows filtered by the table condition. The maximum value is 100, which means no filtering of rows occurred. Values decreasing from 100 indicate increasing amounts of filtering. rows shows the estimated number of rows examined and rows × filtered shows the number of rows joined with the following table. For example, if rows is 1000 and filtered is 50.00 (50%), the number of rows to be joined with the following table is 1000 × 50% = 500.

這段文字不是很好理解,舉例來說,有如下三個查詢語句的explain結果,針對b和c表的顯示filtered是100,而針對a表的顯示是18。

+-------------+-------+--------+---------+---------+------+----------+
| select_type | table | type   | key     | key_len | rows | filtered |
+-------------+-------+--------+---------+---------+------+----------+
| PRIMARY     | a     | range  | search  | 4       |  174 |   18.00  |
| PRIMARY     | b     | eq_ref | PRIMARY | 4       |    1 |   100.00 |
| PRIMARY     | c     | ALL    | PRIMARY | 4       |    1 |   100.00 |

我們可以怎么理解filtered的值呢?從filtered的值中得出什么結論呢?到底是100更好還是18更好?

首先,這里的filtered表示通過查詢條件獲取的最終記錄行數占通過type字段指明的搜索方式搜索出來的記錄行數的百分比。

以上圖的第一條語句為例,MySQL首先使用索引(這里的type是range)掃描表a,預計會得到174條記錄,也就是rows列展示的記錄數。接下來MySql會使用額外的查詢條件對這174行記錄做二次過濾,最終得到符合查詢語句的32條記錄,也就是174條記錄的18%。而18%就是filtered的值。

更完美的情況下,應該是使用某個索引,直接搜索出32條記錄并且過濾掉另外82%的記錄。

因此一個比較低filtered值表示需要有一個更好的索引,假如type=all,表示以全表掃描的方式得到1000條記錄,且filtered=0.1%,表示只有1條記錄是符合搜索條件的。此時如果加一個索引可以直接搜出來1條數據,那么filtered就可以提升到100%。

由此可見,filtered=100%確實是要比18%要好。

當然,filtered不是萬能的,關注執(zhí)行計劃結果中其他列的值并優(yōu)化查詢更重要。比如為了避免出現(xiàn)filesort(使用可以滿足order by的索引),即使filtered的值比較低也沒問題。再比如上面filtered=0.1%的場景,我們更應該關注的是添加一個索引提高查詢性能,而不是看filtered的值。

參考內容:

MySQL :: MySQL 5.7 Reference Manual :: 8.8.2 EXPLAIN Output Format

innodb - What is the meaning of filtered in MySQL explain? - Database Administrators Stack Exchange

總結 

到此這篇關于MySql中explain結果filtered的文章就介紹到這了,更多相關MySql中explain結果filtered內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mysql查詢表是否被鎖的方法

    mysql查詢表是否被鎖的方法

    在本篇文章里小編給大家分享的是關于mysql查詢表是否被鎖的方法,有需要的朋友們可以參考下。
    2020-10-10
  • mysql把一個表某個字段的內容復制到另一張表的某個字段的SQL語句寫法

    mysql把一個表某個字段的內容復制到另一張表的某個字段的SQL語句寫法

    有時候,我們需要復制某個字段一整列的數據到另外一個新的字段中,或是需要把某個表的某個字段的值跨表復制到另一個表中的某個字段,本文就羅列了一些SQL語句寫法,需要的朋友可以參考下
    2014-04-04
  • 一文了解MySQL事務隔離級別

    一文了解MySQL事務隔離級別

    這篇文章主要介紹了一文了解MySQL事務隔離級別,MySQL?事務隔離級別是為了解決并發(fā)事務互相干擾的問題的,文章介紹?4?種事物隔離,需要的小伙伴可以學習一下
    2022-07-07
  • MySQL配置文件my.cnf中文詳解附mysql性能優(yōu)化方法分享

    MySQL配置文件my.cnf中文詳解附mysql性能優(yōu)化方法分享

    Mysql參數優(yōu)化對于新手來講,是比較難懂的東西,其實這個參數優(yōu)化,是個很復雜的東西,對于不同的網站,及其在線量,訪問量,帖子數量,網絡情況,以及機器硬件配置都有關系,優(yōu)化不可能一次性完成,需要不斷的觀察以及調試,才有可能得到最佳效果。
    2011-09-09
  • Mysql縱表轉換為橫表的方法及優(yōu)化教程

    Mysql縱表轉換為橫表的方法及優(yōu)化教程

    在應用中為了從不同的視圖去分析數據,會使用不同的方案去查詢數據庫,橫表和縱表的相互轉換就是其中一個常見的情景,這篇文章主要給大家介紹了關于Mysql縱表轉換為橫表的相關資料,需要的朋友可以參考下
    2021-08-08
  • mysql大批量插入數據的正確解決方法

    mysql大批量插入數據的正確解決方法

    這篇文章主要介紹了mysql大批量插入數據的正確做法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09
  • mysql中l(wèi)eft join設置條件在on與where時的用法區(qū)別分析

    mysql中l(wèi)eft join設置條件在on與where時的用法區(qū)別分析

    這篇文章主要介紹了mysql中l(wèi)eft join設置條件在on與where時的用法區(qū)別,結合實例形式分析了mysql中l(wèi)eft join設置條件在on與where時的相關用法區(qū)別與操作注意事項,需要的朋友可以參考下
    2020-02-02
  • 使用innodb_force_recovery解決MySQL崩潰無法重啟問題

    使用innodb_force_recovery解決MySQL崩潰無法重啟問題

    這篇文章主要介紹了使用innodb_force_recovery解決MySQL崩潰無法重啟問題,這只一個成功案例,并不是萬能的解決方法,需要酌情考慮,需要的朋友可以參考下
    2015-05-05
  • MySQL中的排序函數field()實例詳解

    MySQL中的排序函數field()實例詳解

    這篇文章主要給大家介紹了關于MySQL中排序函數field()的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-10-10
  • MySQL order by實現(xiàn)原理分析和Filesort優(yōu)化方式

    MySQL order by實現(xiàn)原理分析和Filesort優(yōu)化方式

    這篇文章主要介紹了MySQL order by實現(xiàn)原理分析和Filesort優(yōu)化方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論