中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

發布時間:2022-01-05 17:11:38 來源:億速云 閱讀:309 作者:小新 欄目:大數據

這篇文章主要為大家展示了“MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別”這篇文章吧。

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

MySQL 8 最終是要大面積替換MYSQL5.7 , 之前的文字可能給人感覺MYSQL 8 還不如 MYSQL 5.7 ,實際上不然,任何東西新的一定有問題,解決解決就好了,在復雜查詢這塊 MYSQL 5.7 的確是和MYSQL 8 已經有了分別,對于開發人員撰寫SQL 有什么幫助我們可以看看下面的一些例子。

下面是MYSQL 8 和 MYSQL 5.7 在一個稍微復雜查詢的執行計劃

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

對比上面的圖,一樣的語句,一樣的數據庫,一樣的表,一樣的數據行數和內容,mysql 8 由于各種優化,去掉了 using firesort,并且由于這一項,節省了近 20秒

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

下面還有相關的例子,還是出了MYSQL 版本不一致,包括硬件其他的都一樣的情況下,mysql 8 比 mysql 5.7 要快 4倍 34秒與128秒的區別,不同的還是那個 filesort

mysql 8.018

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

mysql 5.7.23

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

通過這兩個例子可以看到,在使用GROUP BY 這樣的語句,在沒有特殊優化的情況下,,MYSQL 8 不在使用 FILESORT 排序后,速度有了大幅度的提升,這說明在沒有優化的情況下,MYSQL 8 對于排序和GROUP BY 這樣的查詢時有利的,并且隨著提取的數據越多,則越快,這對 DEVELOPER 是一個好消息。

MYSQL 8

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

MySQL 5.7

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

上面的測試中,如果不帶有Join salaries 的情況下,實際情況是MYSQL 5,7 還會稍微的好一些,MYSQL 8 會將not exists not in 里面的子查詢先 Materialized  一下,相對來說,如果 not exists not in 里面的要排除的數據越少越好,條件越精準越好,這樣MYSQL 8 的 antijoin 的功能就會能幫助查詢更有效的排除數據。這里在所有都一樣的情況下,MYSQL 8 比 MYSQL 5.7 快 2倍的時間。

當然也有一些差強人意的,下面的兩個查詢時間上基本相同,可能需要更多的將語句重新格式的時間,mysql 8 還慢了0.2秒

MYSQL 8 

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別

總體來說mysql 在hash join , 免filesort 的新功能對大部分查詢語句是有幫助的,但實際上在測試中有些簡單的語句,MYSQL 8 并不能占據什么便宜,或者說還可能會比MYSQL 5.7 慢了“一眨眼” 的功夫。

以上是“MYSQL 8和MYSQL 5.7在復雜查詢中有哪些區別”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合作市| 兴国县| 长兴县| 淳安县| 定安县| 吉隆县| 四子王旗| 金秀| 理塘县| 商水县| 德惠市| 龙里县| 东光县| 色达县| 湟源县| 乌兰察布市| 洛浦县| 巴彦淖尔市| 武隆县| 中宁县| 玉树县| 金坛市| 长兴县| 莱阳市| 安义县| 阜宁县| 固镇县| 行唐县| 裕民县| 榕江县| 云梦县| 辉南县| 罗甸县| 大庆市| 湟中县| 寻乌县| 繁峙县| 冷水江市| 通化县| 会泽县| 太仓市|