午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

MySQL聯(lián)合查詢和簡單查詢究竟如何選擇?

瀏覽:214日期:2022-06-16 16:16:01

問題描述

最近看高性能MySQl,里面是推薦把聯(lián)合查詢分解為多個簡單的查詢,既然是這樣 那么還要聯(lián)合查詢干嘛?究竟是如何選擇才是效率更高的選擇呢?

問題解答

回答1:

簡單的聯(lián)合查詢一般沒有必要分解,這里所說的應該是比較復雜的聯(lián)合查詢,譬如聯(lián)合查詢3,4張表,如果查詢較為復雜,涉及到分組,排序什么的,在運行時不能有效利用索引的。甚至有可能產(chǎn)生臨時表。那效率就會比較差。而且不利于查詢緩存。分解后針對每個簡單的查詢,數(shù)據(jù)庫有查詢緩存機制,會更加高效。對聯(lián)合查詢的語句盡量用explain分析一下有哪些問題?針對性的去改正。該分解的時候還是要分解。

回答2:

select * from tb1left join tb2 on tb1.id=tb2.tidwhere tb1.stat=1 and tb2.stat=1 and tb1.type=1

select * from (select * from tb1 where stat=1 and type=1) as tb1left join tb2 on tb1.id=tb2.tidwhere tb2.stat=1

上面是一個簡單的案例, 其實我不是太明白你說的聯(lián)合查詢分解成多個簡單的查詢, 上面只能是我個人的一些優(yōu)化(分解)方案而已(雖然也并不是每次都是這么用).

如果你所說的分解是將聯(lián)表拆成很多個語句, 然后在代碼中依次進行調用的話, 相信效率反而比聯(lián)表還低, 每次連接數(shù)據(jù)庫的 IO 開銷肯定比一次聯(lián)表來的多.

優(yōu)化聯(lián)表查詢效率用一句話來說就是 用最少的正確數(shù)據(jù)進行關聯(lián)

最少的數(shù)據(jù), 就可以通過, 在表進行關聯(lián)前, 提前將正確的數(shù)據(jù)提取出來, 避免關聯(lián)時還有很多明顯已經(jīng)知道是錯誤的數(shù)據(jù)再去關聯(lián).

無論是何種 join 方式, 這種方式都能適用.

更多的提高效率方案也還有很多像是 where 的順序, 字段類型, 索引 等等, 這個范圍就很大了.

回答3:

只要用好索引,聯(lián)合查詢沒什么問題

相關文章:
主站蜘蛛池模板: 国产成人一区二区在线观看 | avt天堂网| 欧美资源网 | 日韩av色| 亚洲aⅴ在线 | 日本精品在线 | 91精品国产麻豆 | 69av在线视频 | 美女福利在线 | xxx国产精品| 免费国产黄色 | 一级理论片 | 亚洲福利专区 | 一品道av| 成人在线播放网站 | 日韩激情在线播放 | 亚洲第一视频网站 | 青草一区二区 | 在线观看的黄网 | www.五月天激情 | 欧美精品1区| 国产成人愉拍精品久久 | 久久国产成人 | 国产a久久 | 蜜臀久久99精品久久一区二区 | 日韩一区二区精品视频 | 亚洲免费在线视频观看 | 精品视频在线播放 | 黄色在线网 | 国产精品自拍偷拍 | 六月婷婷激情 | 午夜黄色在线观看 | 美女18毛片| 国产精品a久久久久 | 青青草97国产精品免费观看 | 亚洲国产一区二区三区在线观看 | 天天操免费视频 | 影音先锋在线视频观看 | 毛片毛片毛片毛片 | 一区二区美女视频 | 在线观看av中文字幕 |