<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          如何優(yōu)化SQL語句,看這篇就夠了 !

          共 1489字,需瀏覽 3分鐘

           ·

          2021-08-30 05:54

          點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號”

          優(yōu)質(zhì)文章,第一時(shí)間送達(dá)

          1.分析MySQL服務(wù)器當(dāng)前的狀態(tài)信息

          SHOW SESSION STATUS;
          SHOW SESSION STATUS LIKE 'Com_%' //當(dāng)前會話下所有語句類型的執(zhí)行次數(shù)

          //可以了解當(dāng)前應(yīng)用是以插入更新為主,還是以查詢操作為主,以及各種SQL類型的執(zhí)行比例大概是多少
          SHOW SESSION STATUS LIKE 'InnoDB_rows%' 

          2.定位執(zhí)行效率比較低的SQL語句

          (1) 慢查詢?nèi)罩?/h5>

          查看當(dāng)前慢查詢?nèi)罩竟δ苁欠耖_啟

          SHOW VARIABLES LIKE '%slow_query_log%'

          SHOW VARIABLES LIKE '%slow_query_time%' //默認(rèn)為10秒

          測試慢查詢?nèi)罩竟δ?/p>

          select SLEEP(11),first_name FROM actor where actor_id = 1; //語句會睡眠11秒

          在日志文件中可以看到上面這個(gè)慢SQL

          這樣我們就可以通過慢查詢?nèi)罩救グ堰@些值時(shí)間超過我們預(yù)期值的語句挑出來

          可以在mysql的配置文件中配置慢查詢選項(xiàng),這樣既可永久生效。

          (2) 查看執(zhí)行中的任務(wù)
          SHOW PROCESSLIST

          這種方式可以顯示當(dāng)前執(zhí)行中的SQL語句

          select SLEEP(100),first_name FROM actor where actor_id = 1; //睡眠100秒

          3.通過Desc或者Explain命令查看計(jì)劃執(zhí)行

          通過慢查詢?nèi)罩局蝎@取到慢的SQL中,通過語句查看執(zhí)行計(jì)劃

          兩條語句的執(zhí)行結(jié)構(gòu)是一樣的

          DESC SELECT * FROM film_actor WHERE film_id = 1;
          EXPLAIN SELECT * FROM film_actor WHERE film_id = 1;

          KEY含義
          type表的掃描類型
          possible_keys可能用到的索引
          key實(shí)際用到的索引
          key_leng索引的長度
          rows得到結(jié)果所需要的查詢的行數(shù)

          最后確定問題并采取相應(yīng)的優(yōu)化措施#


            作者 |  antaia11

          來源 |  cnblogs.com/antaia11/p/15178153.html


          加鋒哥微信: java3459  
          圍觀鋒哥朋友圈,每天推送Java干貨!

          瀏覽 60
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日插夜插天天插 | 国产黄色大全 | 人人爽人人操人人爱 | 国产无码激情后入 | 草榴国产在线 |