0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎么查看MySQL語句有沒有用到索引

麥辣雞腿堡 ? 來源:程序員庫森 ? 作者:程序員庫森 ? 2023-10-09 10:31 ? 次閱讀

怎么查看MySQL語句有沒有用到索引?

通過explain,如以下例子:

EXPLAIN SELECT * FROM employees.titles WHERE emp_no='10001' AND title='Senior Engineer' AND from_date='1986-06-26';

idselect_typetablepartitionstypepossible_keyskeykey_lenreffilteredrowsExtra
1SIMPLEtitlesnullconstPRIMARYPRIMARY59const,const,const101
  • id:在?個?的查詢語句中每個SELECT關鍵字都對應?個唯?的id ,如explain select * from s1 where id = (select id from s1 where name = 'egon1');第一個select的id是1,第二個select的id是2。有時候會出現(xiàn)兩個select,但是id卻都是1,這是因為優(yōu)化器把子查詢變成了連接查詢 。
  • select_type:select關鍵字對應的那個查詢的類型,如SIMPLE,PRIMARY,SUBQUERY,DEPENDENT,SNION 。
  • table:每個查詢對應的表名 。
  • type:type 字段比較重要, 它提供了判斷查詢是否高效的重要依據(jù)依據(jù). 通過 type 字段, 我們判斷此次查詢是 全表掃描 還是 索引掃描 等。如const(主鍵索引或者唯一二級索引進行等值匹配的情況下),ref(普通的?級索引列與常量進?等值匹配),index(掃描全表索引的覆蓋索引) 。

通常來說, 不同的 type 類型的性能關系如下:ALL < index < range ~ index_merge < ref < eq_ref < const < system``ALL 類型因為是全表掃描, 因此在相同的查詢條件下, 它是速度最慢的. 而 index 類型的查詢雖然不是全表掃描, 但是它掃描了所有的索引, 因此比 ALL 類型的稍快.

  • possible_key:查詢中可能用到的索引*(可以把用不到的刪掉,降低優(yōu)化器的優(yōu)化時間)* 。
  • key:此字段是 MySQL 在當前查詢時所真正使用到的索引。
  • filtered:查詢器預測滿足下一次查詢條件的百分比 。
  • rows 也是一個重要的字段. MySQL 查詢優(yōu)化器根據(jù)統(tǒng)計信息, 估算 SQL 要查找到結果集需要掃描讀取的數(shù)據(jù)行數(shù). 這個值非常直觀顯示 SQL 的效率好壞, 原則上 rows 越少越好。
  • extra:表示額外信息,如Using where,Start temporary,End temporary,Using temporary等。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)結構

    關注

    3

    文章

    573

    瀏覽量

    40169
  • MySQL
    +關注

    關注

    1

    文章

    821

    瀏覽量

    26652
  • 索引
    +關注

    關注

    0

    文章

    59

    瀏覽量

    10485
  • 字段
    +關注

    關注

    0

    文章

    13

    瀏覽量

    1656
收藏 人收藏

    評論

    相關推薦

    PSOC4沒有用到的GPIO是什么狀態(tài)呢?需要特殊處理嗎?

    如題,PSOC4沒有用到的GPIO是什么狀態(tài)?需要特殊處理嗎?有的MCU要求沒有用的GPIO要外接下拉電阻,PSOC需要這樣處理嗎?謝謝
    發(fā)表于 02-18 08:50

    有沒有用FPGA做PID控制的

    有沒有用FPGA做PID控制的???
    發(fā)表于 07-28 17:30

    有沒有用FPGA做MP3播放器的(硬件解碼)

    有沒有用FPGA做MP3播放器的(硬件解碼)
    發(fā)表于 10-01 14:21

    有沒有用LabVIEW做過CAN報文接收和發(fā)送的

    有沒有用LabVIEW做過CAN報文接收和發(fā)送的,用庫函數(shù)進行發(fā)送和接收。有時候發(fā)送一會LabVIEW閃退,直接退出程序,有時候又能正常接收發(fā)送。不知道有沒有碰到這種情況的
    發(fā)表于 04-03 14:06

    有沒有用樹莓派 香蕉派制作3D打印機的教程?

    有沒有用樹莓派 香蕉派制作3D打印機的教程?想自己做個3D打印機 不知有沒有教程
    發(fā)表于 12-17 21:11

    有沒有用過RDA1846射頻芯片的?

    有沒有用過RDA1846的伙伴啊。
    發(fā)表于 04-10 15:03

    請問有沒有用C++開發(fā)STM32的

    我大學學的C++,相對C語言來說更喜歡C++語言,只是不知道有沒有用C++開發(fā)STM32程序的,不是指僅僅玩玩,而是有沒有用到實際產(chǎn)品中的,有沒有出現(xiàn)什么問題。
    發(fā)表于 10-26 08:42

    adc測量電壓沒有用到adc引腳和通道

    想要ADC測量電池電壓,參考了半天例程,寫出來也能電壓得到3.3V,但是我最后發(fā)現(xiàn)竟然沒有用到adc引腳和通道,也得出來了,所以我現(xiàn)在郁悶了。這個正常嗎,可能有什么問題?
    發(fā)表于 11-16 08:50

    請問在SD卡實驗以及UCGUI試驗中有沒有用到外部FLASH的?

    請問在SD卡實驗以及UCGUI試驗中有沒有用到外部FLASH ???也就是那個W25X16是用了SPI通信方式將外部FLASH 與SD卡連接的嗎?
    發(fā)表于 10-08 07:48

    有沒有用tls省內存的方案啊

    上傳文件走tls加密,測下來整個流程最大會分配50K內存,這對于整個內存只有80多k的單片機簡直災難,有沒有用tls省內存的方案。
    發(fā)表于 09-30 10:07

    大家絕對沒有用過的iphone功能

    大家絕對沒有用過的iphone功能 前言:由于本貼介紹的iphone計算器的終極隱藏功能具有非常意義:不但讓幾乎全世界的iphone用戶都再次
    發(fā)表于 02-26 16:50 ?615次閱讀

    mysql基本語句詳細教程

    mysql基本語句詳細教程
    發(fā)表于 12-15 22:15 ?0次下載

    MySQL索引的使用問題

    一、前言 在MySQL中進行SQL優(yōu)化的時候,經(jīng)常會在一些情況下,對MySQL能否利用索引有一些迷惑。譬如:1、MySQL 在遇到范圍查詢條件的時候就停止匹配了,那么到底是哪些范圍條件
    的頭像 發(fā)表于 01-06 16:13 ?1622次閱讀

    商業(yè)智能到底有沒有用?_光點科技

    隨著科技的迅猛發(fā)展,商業(yè)智能(Business Intelligence,簡稱BI)已經(jīng)成為許多企業(yè)日常運營的關鍵工具。然而,關于商業(yè)智能到底有沒有用的問題仍然存在爭議。有人認為商業(yè)智能是一種能夠為企業(yè)帶來巨大價值的創(chuàng)新技術,而另一些人則對其效果持懷疑態(tài)度。
    的頭像 發(fā)表于 05-31 10:46 ?682次閱讀

    MySQL高級進階:索引優(yōu)化

    MySQL官方對于索引的定義:索引是幫助MySQL高效獲取數(shù)據(jù)的數(shù)據(jù)結構。
    的頭像 發(fā)表于 06-11 11:13 ?596次閱讀
    <b class='flag-5'>MySQL</b>高級進階:<b class='flag-5'>索引</b>優(yōu)化