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

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

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

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

讓每一個家庭“安心”、“放心”

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

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

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

我們教學怎么樣

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

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

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

我命由我不由天

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

我們靠不靠譜

  • 14年辦學
  • 14年磨練
  • 14年成長
  • 14年探索
  • 只為讓每個學員成材!
了解更多>
鄭州北大青鳥IT培訓

不打工也牛掰

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

學IT就讀北大青鳥

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

      我們河南北大青鳥鄭州翔天中心專業(yè)的電腦培訓學校,今天給大家分享的是有關(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
  去除常量條件(在展開常量時需要):
  (B%26gt;=5 AND B=5) OR (B=6 AND 5=5) OR (B=7 AND 5=6)
  -%26gt; B=5 OR B=6
  常量表達示在索引中只計算一次

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

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

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

  以下的幾個表都會被當成常量表:
  SELECT * FROM t WHERE primary_key=1;
  SELECT * FROM t1,t2
  WHERE t1.primary_key=1 AND t2.primary_key=t1.id;

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

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

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

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

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

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

  以下幾個查詢速度非常快:
  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資訊類的文章、新聞、課程和學習技巧、就業(yè)案例、招生詳情等問題,可以對在線咨詢老師進行一對一問答!


分享到: