婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL優化之使用連接(join)代替子查詢

MySQL優化之使用連接(join)代替子查詢

熱門標簽:400電話申請什么好 百度地圖標注地方備注 怎么辦理400電話呢 電銷機器人價格多少錢一臺 地圖標注圖標素材入駐 怎么申請400電話申請 電話機器人免費嗎 好搜地圖標注 龍圖酒吧地圖標注

使用連接(JOIN)來代替子查詢(Sub-Queries)

MySQL從4.1開始支持SQL的子查詢。這個技術可以使用SELECT語句來創建一個單列的查詢結果,然后把這個結果作為過濾條件用在另一個查詢中。例如,我們要將客戶基本信息表中沒有任何訂單的客戶刪除掉,就可以利用子查詢先從銷售信息表中將所有發出訂單的客戶ID取出來,然后將結果傳遞給主查詢,如下所示:

DELETE FROM customerinfo 
WHERE CustomerID NOT in (SELECT CustomerID FROM salesinfo ) 

  使用子查詢可以一次性的完成很多邏輯上需要多個步驟才能完成的SQL操作,同時也可以避免事務或者表鎖死,并且寫起來也很容易。但是,有些情況下,子查詢可以被更有效率的連接(JOIN).. 替代。例如,假設我們要將所有沒有訂單記錄的用戶取出來,可以用下面這個查詢完成:

SELECT * FROM customerinfo 
WHERE CustomerID NOT in (SELECT CustomerID FROM salesinfo ) 

  如果使用連接(JOIN).. 來完成這個查詢工作,速度將會快很多。尤其是當salesinfo表中對CustomerID建有索引的話,性能將會更好,查詢如下:

SELECT * FROM customerinfo 
LEFT JOIN salesinfoON customerinfo.CustomerID=salesinfo. 
CustomerID 
WHERE salesinfo.CustomerID IS NULL 

  連接(JOIN).. 之所以更有效率一些,是因為 MySQL不需要在內存中創建臨時表來完成這個邏輯上的需要兩個步驟的查詢工作

總結

本文關于MySQL優化之使用連接(join)代替子查詢的內容就到這里,僅供參考。如有不足之處請指出。歡迎大家交流討論。感謝朋友們對本站的支持。

您可能感興趣的文章:
  • MySQL里面的子查詢實例
  • 解決MySQL中IN子查詢會導致無法使用索引問題
  • 詳細講述MySQL中的子查詢操作
  • 詳解MySQL子查詢(嵌套查詢)、聯結表、組合查詢
  • mysql in語句子查詢效率慢的優化技巧示例
  • Mysql子查詢IN中使用LIMIT應用示例
  • MYSQL子查詢和嵌套查詢優化實例解析
  • mysql實現多表關聯統計(子查詢統計)示例
  • MySQL筆記之子查詢使用介紹
  • MySQL子查詢中order by不生效問題的解決方法

標簽:撫順 浙江 內江 防疫工作 固原 廣西 溫州 汕尾

巨人網絡通訊聲明:本文標題《MySQL優化之使用連接(join)代替子查詢》,本文關鍵詞  MySQL,優化,之,使用,連接,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL優化之使用連接(join)代替子查詢》相關的同類信息!
  • 本頁收集關于MySQL優化之使用連接(join)代替子查詢的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 涟源市| 夏河县| 青川县| 兴和县| 洞头县| 秀山| 磐安县| 兴国县| 固阳县| 平昌县| 泸溪县| 岱山县| 隆德县| 浙江省| 阳城县| 镇安县| 鄢陵县| 乌鲁木齐市| 横山县| 阿坝| 红桥区| 剑阁县| 凌云县| 肥东县| 宜黄县| 张北县| 正蓝旗| 遂川县| 靖宇县| 永靖县| 靖江市| 象山县| 扶风县| 耿马| 彩票| 芦溪县| 沁水县| 宝清县| 渑池县| 鲁山县| 龙游县|