重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
在MySQL 8.0.18版本里,支持對NOT IN/EXISTS子查詢語句優化,優化器內部將查詢自動重寫為AntiJoin反連接查詢SQL語句。
通常情況下,我們希望由內到外,先完成內表里的查詢結果,然后驅動外查詢的表,完成最終查詢,但是子查詢會先掃描外表中的所有數據,每條數據將會傳到內表中與之關聯,如果外表很大的話,那么性能上將會很差。
讓我們看一個例子
explain?select?*?from?t1?where?id?not?in?(select?id?from?t2);優化器在內部,是將not in子查詢重寫為下面的語句
explain?select?t1.*?from?t1?left?join?t2?on?t1.id=t2.id?where?t2.id?is?null;對比兩個執行計劃,結果是一樣的。
另外有需要云服務器可以了解下創新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。