久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      本篇文章給大家?guī)砹岁P(guān)于mysql的相關(guān)知識(shí),其中主要介紹了關(guān)于left join查詢慢時(shí)間長的踩坑總結(jié),包括了EXPLAIN命令對SELECT語句進(jìn)行分析,下面一起來看一下,希望對大家有幫助。

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      程序員必備接口測試調(diào)試工具:立即使用
      Apipost = Postman + Swagger + Mock + Jmeter
      Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測試工具
      后端、前端、測試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步

      推薦學(xué)習(xí):mysql視頻教程

      問題背景

      兩張表一張是用戶表a(主鍵是int類型),一張是用戶具體信息表b(用戶表id字段是varchar類型)。

      因?yàn)橐@示用戶及用戶信息,所以需要關(guān)聯(lián)查詢,但發(fā)現(xiàn)left join后查詢緩慢,耗時(shí)太長。用戶表數(shù)據(jù)2萬左右。

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      問題分析及處理

      1、EXPLAIN 命令對 SELECT 語句進(jìn)行分析

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      type 字段提供了判斷查詢是否高效的重要依據(jù)依據(jù). 通過 type 字段, 我們判斷此次查詢是 全表掃描 還是 索引掃描 等.

      ALL: 表示全表掃描, 這個(gè)類型的查詢是性能最差的查詢之一.

      通常來說, 我們的查詢不應(yīng)該出現(xiàn) ALL 類型的查詢, 因?yàn)檫@樣的查詢在數(shù)據(jù)量大的情況下, 對數(shù)據(jù)庫的性能是巨大的災(zāi)難. 如一個(gè)查詢是 ALL 類型查詢, 那么一般來說可以對相應(yīng)的字段添加索引來避免.

      2、新增索引

      因?yàn)榘l(fā)現(xiàn)表b字段之前并沒有建索引。

      alter table a add index idx_mbrID (mbrID);
      登錄后復(fù)制

      再次Explain分析

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      發(fā)現(xiàn)type變?yōu)榱藃ef,根據(jù)不同的 type 類型的性能關(guān)系(

      ALL < index < range ~ index_merge < ref < eq_ref < const < system
      登錄后復(fù)制

      )比較后感覺可以了,于是執(zhí)行查詢。

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      3、修改索引字段類型一致

      執(zhí)行查詢后發(fā)現(xiàn)執(zhí)行速度并未優(yōu)化,仔細(xì)看之前同事設(shè)計(jì)的表,發(fā)現(xiàn)索引類型字段不一致,于是修改為varchar 為int后再次查詢發(fā)現(xiàn)查詢速度明顯提升。

      即使之前java代碼里面寫的string,數(shù)據(jù)庫改為int目前測試可正常使用

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      總結(jié)

      解決完問題后,翻起了開發(fā)手冊,發(fā)現(xiàn)索引規(guī)約明確強(qiáng)制join時(shí)數(shù)據(jù)類型必須一致,被關(guān)聯(lián)字段必須有索引?。。?/p>

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      歸納整理關(guān)于mysql?left?join查詢慢時(shí)間長的踩坑

      推薦學(xué)習(xí):mysql視頻教程

      贊(1)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號