国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

mysql中in和or的差異有哪些

2024-07-24 12:34:11
字體:
來源:轉載
供稿:網友
  mysql中in和or的區別是什么
 
  做數據對比,千萬級別數據
 
  sql語句中 in和or的區別為:來操作不同、適合不同、執行效率不同。
 
  一、操作不同
 
  1、in:in是把父查詢表和子自查詢表作hash連接。
 
  2、or:or是對父查詢表作loop循環,每次loop循環再對子查詢表進行查詢。
 
  二、適合不同5261
 
  1、in:in適合用于子查詢表數據比父查詢表數據多的情4102況。
 
  2、or:or適合用于子查詢表數據比父查詢表數據少的情況。
 
  三、執行效率不同
 
  1、in:在沒有索引的情況下,隨著in后面的數據量越多,in的執行效率不會有太大的下降。
 
  2、or:在沒有索引的情況下,隨著or后面的數據量越多,or的執行效率會有明顯的下降。
 
  如果in和or所在列有索引或者主鍵的話,or和in沒啥差別,執行計劃和執行時間都幾乎一樣。
 
  如果in和or所在列沒有 索引的話,性能差別就很大了。在沒有索引的情況下,隨著in或者or后面的數據量越多,in的效率不會有太大的下降,但是or會隨著記錄越多的話性能下降 非常厲害
 
  因此在給in和or的效率下定義的時候,應該再加上一個條件,就是所在的列是否有索引或者是否是主鍵。如果有索引或者主鍵性能沒啥差別,如果沒有索引,性能差別不是一點點!
 
  感謝各位的閱讀,以上就是“mysql中in和or的區別有哪些”的內容了,經過本文的學習后,相信大家對mysql中in和or的區別有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。

(編輯:武林網)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 斗六市| 广州市| 新绛县| 永顺县| 乐清市| 鄯善县| 公安县| 拉孜县| 福海县| 高邑县| 淮北市| 阿图什市| 刚察县| 新昌县| 称多县| 峨山| 云龙县| 云安县| 莱州市| 彭泽县| 乌拉特后旗| 梅州市| 洪雅县| 西昌市| 扬中市| 武隆县| 古蔺县| 方正县| 理塘县| 武定县| 图们市| 湘潭县| 姚安县| 三亚市| 黄大仙区| 卓尼县| 武胜县| 全南县| 绵阳市| 淳化县| 兰州市|