91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

MySQL5.7中如何進行優化union all

發布時間:2021-11-16 09:22:19 來源:億速云 閱讀:1302 作者:柒染 欄目:MySQL數據庫

MySQL5.7中如何進行優化union all,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

 MySQL5.6中,使用union all相當于創建一張臨時表,這在執行大的聯合查詢時候會增加I/O開銷,降低查詢速度。
 例如執行以下SQL語句:
 (select id from accessLog order by id) union all (select id from access_test order by id);
 在MySQL5.6環境:

點擊(此處)折疊或打開

mysql> select version();

| version() |

| 5.6.14-log |

1 row in set (0.00 sec)

mysql> explain (select id from accessLog order by id) union all (select id from access_test order by id);

 id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |

| 1 | PRIMARY | accessLog | index | NULL | loginuserId | 9 | NULL | 535513 | Using index |

| 2 | UNION | access_test | index | NULL | idx_loginuid | 9 | NULL | 477248 | Using index |

| NULL | UNION RESULT | <union1,2> | ALL | NULL | NULL | NULL | NULL | NULL | Using temporary |

 可以看到執行計劃中提現到了創建的臨時表。
 在MySQL5.7環境:
點擊(此處)折疊或打開

mysql> select version();

| version() |

| 5.7.18-log |

1 row in set (0.00 sec)

mysql> explain (select id from accessLog order by id) union all (select id from access_test order by id);

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

| 1 | PRIMARY | accessLog | NULL | index | NULL | loginuserId | 9 | NULL | 586090 | 100.00 | Using index |

| 2 | UNION | access_test | NULL | ALL | NULL | NULL | NULL | NULL | 571023 | 100.00 | NULL |

  整個查詢過程沒有創建臨時表,按照順序,accessLog表的查詢結果首先傳輸到客戶端,然后access_test表的查詢結果再傳輸到客戶端。
 注意:此項優化對union和在最外層用order by無效,如下:
點擊(此處)折疊或打開

mysql> select version();

| version() |

| 5.7.18-log |

1 row in set (0.00 sec)

mysql> explain (select id from accessLog order by id) union all (select id from access_test order by id) order by id;

| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |

| 1 | PRIMARY | accessLog | NULL | index | NULL | loginuserId | 9 | NULL | 586090 | 100.00 | Using index |

| 2 | UNION | access_test | NULL | ALL | NULL | NULL | NULL | NULL | 571023 | 100.00 | NULL |

| NULL | UNION RESULT | <union1,2> | NULL | ALL | NULL | NULL | NULL | NULL | NULL | NULL | Using temporary; Using filesort |

看完上述內容,你們掌握MySQL5.7中如何進行優化union all的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

象州县| 阿坝县| 牡丹江市| 武穴市| 根河市| 彰化县| 普宁市| 中卫市| 湘潭县| 楚雄市| 邛崃市| 浦江县| 肥乡县| 桂平市| 高雄县| 黎平县| 太湖县| 翁牛特旗| 漳州市| 金川县| 沁水县| 乐至县| 郎溪县| 赣榆县| 镇远县| 大兴区| 丘北县| 腾冲县| 自治县| 新宁县| 黄陵县| 弥勒县| 平舆县| 赞皇县| 探索| 东乡族自治县| 堆龙德庆县| 山东省| 阜阳市| 大连市| 蚌埠市|