• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    mysql連接查詢中索引的重要性_MySQL

    來源:懂視網 責編:小采 時間:2020-11-09 19:48:15
    文檔

    mysql連接查詢中索引的重要性_MySQL

    mysql連接查詢中索引的重要性_MySQL:在mysql中,我們要從多張表中讀取數據時,往往需要用到連接查詢。連接查詢通過兩張表中符合連接關系的字段來建立兩張表的關聯,通常包括內連接、左外連接、右外連接和全連接。內連接會保留兩張表中共有的那部分記錄,因此最后產生的連接表記錄數最少;全連接
    推薦度:
    導讀mysql連接查詢中索引的重要性_MySQL:在mysql中,我們要從多張表中讀取數據時,往往需要用到連接查詢。連接查詢通過兩張表中符合連接關系的字段來建立兩張表的關聯,通常包括內連接、左外連接、右外連接和全連接。內連接會保留兩張表中共有的那部分記錄,因此最后產生的連接表記錄數最少;全連接
    在mysql中,我們要從多張表中讀取數據時,往往需要用到連接查詢。連接查詢通過兩張表中符合連接關系的字段來建立兩張表的關聯,通常包括內連接、左外連接、右外連接和全連接。內連接會保留兩張表中共有的那部分記錄,因此最后產生的連接表記錄數最少;全連接會保留兩張表中所有的記錄,因此最后產生的連接表記錄數最多;而左外連接會保留左表的全部記錄,右外連接會保留右表的全部記錄,因此最后產生的連接表記錄數處于內連接和外連接之間。

    下面我們以一個學生選課的例子,來分析下左外連接的性能。

    首先定義一張學生表(student):\

    插入學生記錄,共10000條:
    \\

    然后定義一張學生選課表(student_to_class):\\

    插入學生選課記錄,每個學生選擇2門課,共20000條記錄:\\

    現在我們要統計每個學生的個人信息,包括他的姓名和他選擇的課程數,這樣我們需要使用左外連接,具體SQL如下:

    SELECT
    	a.student_id, student_name, count(*)
    FROM
    	student a
    LEFT JOIN student_to_class b ON a.student_id = b.student_id
    GROUP BY a.student_id;
    
    但是,這個查詢的執行速度非常慢,花費了75.467s,當然這與我在本機,而不是在服務器上搭建數據庫也有關系,可這樣的查詢效率肯定不能忍受。

    下面我們來分析一下為什么這么慢:

    首先用explain查看這個語句的查詢執行計劃,可以看到type都為ALL,即在student表和student_to_class表中都使用的全表掃描,其中student表(a)中掃描了10649行,student_to_class表(b)中掃描了20287行,這樣無疑效率是非常低的。\\

    對此,我們試著給student_to_class表的student_id字段添加索引:\\

    然后再次執行查詢,發現速度非常快,只有0.077s,改進得非常多。而相應的查詢執行計劃如下圖所示,發現在查詢student_to_class表時使用了索引student_index,使得只需要掃描1行就行了,相當于原來的兩萬分之一,這就是效率改進的關鍵點所在。\\

    因此,當連接查詢時產生的連接表過大時,為了防止查詢次數過多,我們要經常使用索引來減少查詢次數,提高查詢效率。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    mysql連接查詢中索引的重要性_MySQL

    mysql連接查詢中索引的重要性_MySQL:在mysql中,我們要從多張表中讀取數據時,往往需要用到連接查詢。連接查詢通過兩張表中符合連接關系的字段來建立兩張表的關聯,通常包括內連接、左外連接、右外連接和全連接。內連接會保留兩張表中共有的那部分記錄,因此最后產生的連接表記錄數最少;全連接
    推薦度:
    標簽: 查詢 連接 查詢的
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 2020国产精品| 欧美精品一本久久男人的天堂 | 日韩一区二区三区精品| 99久久人妻无码精品系列蜜桃| 精品午夜福利1000在线观看| 久久精品一区二区| 国产精品久久久久jk制服| 亚洲精品国偷自产在线| 久久久久国产日韩精品网站| 91精品国产麻豆国产自产在线| 99久久精品费精品国产一区二区| 日韩精品专区AV无码| 亚洲精品无码久久千人斩| 欧洲精品码一区二区三区免费看| 国产av无码专区亚洲国产精品| 99精品免费视频| 精品亚洲成a人片在线观看| 少妇人妻偷人精品免费视频| 亚洲人午夜射精精品日韩| 久久久无码精品午夜| 国产精品户外野外| 色综合久久综精品| 免费91麻豆精品国产自产在线观看| 91麻豆精品视频| 99在线精品视频在线观看| 国产精品无码成人午夜电影| 久久精品中文闷骚内射| 久久99国产综合精品免费| 精品无码国产污污污免费网站| 日韩人妻精品无码一区二区三区| 人妻少妇精品视中文字幕国语| 无码精品国产VA在线观看DVD | 欧美精品第一页| 亚洲国语精品自产拍在线观看| 亚洲精品无码不卡| 欧美精品免费在线| 国产精品免费一区二区三区| 白浆都出来了视频国产精品| 国产精品gz久久久| 精品人妻少妇嫩草AV无码专区| 久久国产热这里只有精品|