久久久国产精品,成人无码精品1区2区3区免费看,日韩男人天堂,午夜77777

鄭州信息科技中專職業(yè)學(xué)院中專部

不僅僅統(tǒng)招學(xué)歷喲

  • 熱門專業(yè)!
  • 大學(xué)校園!
  • 就業(yè)保障!
  • 拿學(xué)歷又能高薪就業(yè),誰能不愛!
了解詳情>
鄭州北大青鳥翔天信鴿參加“安心學(xué)習(xí)·放心就業(yè)”公約簽約儀式

讓每一個(gè)家庭“安心”、“放心”

  • 教學(xué)為本
  • 師愛為魂
  • 安心學(xué)習(xí)
  • 放心就業(yè)
了解詳情>
北大青鳥20周年慶典與總部年會(huì)鄭州翔天信鴿榮獲7項(xiàng)榮譽(yù)

深耕細(xì)作IT職業(yè)教育15載

  • 青鳥之星教學(xué)質(zhì)量大獎(jiǎng)
  • 卓越風(fēng)云人物
  • 北大青鳥中心理事會(huì)成員
  • 七項(xiàng)榮耀載譽(yù)而行!
了解詳情>
鄭州北大青鳥學(xué)員喜獲全國IT精英挑戰(zhàn)賽冠軍

我們教學(xué)怎么樣

  • 實(shí)力見證
  • 網(wǎng)絡(luò)組一等獎(jiǎng)
  • 網(wǎng)絡(luò)組二等獎(jiǎng)
  • 軟件組四等獎(jiǎng)
  • 200家校區(qū)脫穎而出!
了解更多>
北大青鳥榮獲315重承諾守信用放心品牌

北大青鳥職業(yè)IT20周年

  • 重承諾
  • 守信用
  • 放心品牌
  • 放心學(xué)習(xí)
  • 靠靠譜譜好就業(yè)!
了解更多>
學(xué)IT好工作高薪就業(yè)

我命由我不由天

  • 學(xué)個(gè)性的技術(shù)
  • 做愛做的事
  • 掙滿意的錢
  • 衣食無憂
  • 選擇寬且高大尚!
了解更多>
鄭州北大青鳥IT培訓(xùn)辦學(xué)14年

我們靠不靠譜

  • 14年辦學(xué)
  • 14年磨練
  • 14年成長
  • 14年探索
  • 只為讓每個(gè)學(xué)員成材!
了解更多>
鄭州北大青鳥IT培訓(xùn)

不打工也牛掰

  • 好工作
  • 好環(huán)境
  • 高薪資
  • 好課程
  • 支持你成為有“錢”人!
了解更多>

學(xué)IT就讀北大青鳥

  • 好工作
  • 好未來
  • 好老師
  • 好課程
  • 支持你成為受人尊敬的人!
了解更多>
鄭州北大青鳥:MySQL如何優(yōu)化 WHERE 子句
作者: 添加時(shí)間:10-13 瀏覽次數(shù):0

      我們河南北大青鳥鄭州翔天中心專業(yè)的電腦培訓(xùn)學(xué)校,今天給大家分享的是有關(guān)數(shù)據(jù)庫的相關(guān)知識:MySQL如何優(yōu)化 WHERE 子句。

      MySQL的一些優(yōu)化做法如下:
  去除不必要的括號:
  ((a AND b) AND c OR (((a AND b) AND (c AND d))))
  -%26gt; (a AND b AND c) OR (a AND b AND c AND d)
  展開常量:
  (a -%26gt; b%26gt;5 AND b=c AND a=5
  去除常量條件(在展開常量時(shí)需要):
  (B%26gt;=5 AND B=5) OR (B=6 AND 5=5) OR (B=7 AND 5=6)
  -%26gt; B=5 OR B=6
  常量表達(dá)示在索引中只計(jì)算一次

  在單獨(dú)一個(gè)表上做 COUNT(*) 而不使用 WHERE 時(shí), 對于 MyISAM 和 HEAP 表就會(huì)直接從表信息中檢索結(jié)果。在單獨(dú)一個(gè)表上做任何表 NOT NULL 達(dá)式查詢時(shí)也是這樣做。

  預(yù)先探測無效的常量表達(dá)式。MySQL會(huì)快速探測一些不可能的 SELECT 語句并且不返回任何記錄。
  當(dāng)沒用 GROUP BY 或分組函數(shù)時(shí),HAVING 和 WHERE 合并(COUNT(), MIN() 等也是如此)。
  為表連接中的每個(gè)表構(gòu)造一個(gè)簡潔的 WHERE 語句,以得到更快的 WHERE 計(jì)算值并且盡快跳過記錄
  查詢中所有的常量表都會(huì)比其他表更早讀取。一個(gè)常量表符合以下幾個(gè)條件:
   空表或者只有一條記錄。

  與在一個(gè) UNIQUE 索引、或一個(gè) PRIMARY KEY 的 WHERE 子句一起使用的表,這里所有的索引部分和常數(shù)表達(dá)式做比較并且索引部分被定義為 NOT NULL。

  以下的幾個(gè)表都會(huì)被當(dāng)成常量表:
  SELECT * FROM t WHERE primary_key=1;
  SELECT * FROM t1,t2
  WHERE t1.primary_key=1 AND t2.primary_key=t1.id;

  MySQL會(huì)進(jìn)各種可能找到表連接最好的連接方法。 如果在 ORDER BY 和 GROUP BY 子句中的所有字段都來自同一個(gè)表的話,那么在連接時(shí)這個(gè)表就會(huì)優(yōu)先處理。

  如果有 ORDER BY 子句和一個(gè)不同的 GROUP BY 子句,或者如果 ORDER BY 或 GROUP BY 中的字段都來自其他的表而非連接順序中的第一個(gè)表的話,就會(huì)創(chuàng)建一個(gè)臨時(shí)表了。

  如果使用 SQL_SMALL_RESULT,MySQL就會(huì)使用內(nèi)存臨時(shí)表了。

  所有的表索引都會(huì)查詢,最好的情況就是所有的索引都會(huì)被用到,除非優(yōu)化程序認(rèn)為全表掃描的效率更高。同時(shí),數(shù)據(jù)表掃描是基于判斷最好的索引范圍超過數(shù)據(jù)表的30%。 現(xiàn)在,優(yōu)化程序復(fù)雜多了,它基于對一些附加因素的估計(jì),例如表大小,記錄總數(shù),I/O塊大小,因此就不能根據(jù)一個(gè)固定的百分比來決定是選擇使用索引還是直接掃描數(shù)據(jù)表。

  在某些情況下,MySQL可以直接從索引中取得記錄而無需查詢數(shù)據(jù)文件。如果所有在索引中使用的字段都是數(shù)字類型的話,只需要用索引樹就能完成查詢。

  每條記錄輸出之前,那些沒有匹配 HAVING 子句的就會(huì)被跳過。

  以下幾個(gè)查詢速度非常快:
  SELECT COUNT(*) FROM tbl_name;
  SELECT MIN(key_part1),MAX(key_part1) FROM tbl_name;
  SELECT MAX(key_part2) FROM tbl_name
  WHERE key_part1=constant;
  SELECT ... FROM tbl_name

本文源自:http://  轉(zhuǎn)載請注明出處!   更多技術(shù)交流請鏈接:http:///jsjl/ 


本文由站河南北大青鳥校區(qū)整編而成,如需了解更多IT資訊類的文章、新聞、課程和學(xué)習(xí)技巧、就業(yè)案例、招生詳情等問題,可以對在線咨詢老師進(jìn)行一對一問答!


分享到: