我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL5.7中如何进行优化union all

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL5.7中如何进行优化union all

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的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL5.7中如何进行优化union all

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何进行SEO优化

这篇文章将为大家详细讲解有关如何进行SEO优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。SEO方案包括:1、网站SEO诊断先要给网站进行一个系统的SEO诊断,看看这个网站目前的优化情况到底是什么情况的
2023-06-10

sql如何进行优化

如何优化 sql 查询优化 SQL 查询的步骤:1. 分析查询找出需要优化的高耗时查询。使用 EXPLAIN 命令来查看查询执行计划。识别查询中的瓶颈,例如表扫描、索引扫描或子查询。2. 优化表结构确保表的列数据类型与实际数据匹配。
sql如何进行优化
2024-06-21

如何在MySQL中进行SQL优化

在MySQL中进行SQL优化的方法有很多,以下是一些常见的方法:使用索引:确保表中经常查询的列上有索引,以加快查询速度。可以使用EXPLAIN语句分析查询执行计划,查看是否在索引上进行了扫描。避免使用SELECT *:只查询需要的列,避免
如何在MySQL中进行SQL优化
2024-04-09

如何进行HTML中的网站优化

如何进行HTML中的网站优化,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。网站head区代码规范head区是指和之间的内容。 必须加入的标签1.公司
2023-06-12

在AmazonAurora中如何进行性能调优和优化

Amazon Aurora是一种关系型数据库服务,旨在提供高性能、高可靠性和可扩展性。要进行性能调优和优化,可以按照以下步骤进行:选择合适的实例大小:根据数据库的负载情况和性能需求,选择合适的实例大小。可以通过监控数据库的CPU、内存和磁盘
在AmazonAurora中如何进行性能调优和优化
2024-04-09

如何在MySQL中进行性能优化和调优

有几种方法可以在MySQL中进行性能优化和调优:使用合适的索引: 索引可以加快查询的速度。确保在经常使用的列上创建索引,并避免在不需要的列上创建索引。使用适当的数据类型: 使用适当的数据类型可以减少存储空间的使用,提高性能。尽量使用较小的数
如何在MySQL中进行性能优化和调优
2024-04-09

网站如何进行SEO优化

这篇文章将为大家详细讲解有关网站如何进行SEO优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  SEO方案全体框架:  竞争对手剖析: 在做SEO方案之前,先对竞争对手停止剖析,研讨,找出对手的劣势、
2023-06-10

数据库如何进行优化

这篇文章主要介绍了数据库如何进行优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。数据库优化的方式:1、选取最适用的字段属性;2、使用连接来代替子查询;3、使用联合来代替手动
2023-06-14

Hive中如何基于成本进行优化

小编给大家分享一下Hive中如何基于成本进行优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基于成本的优化Hive在提交最终执行之前会优化每个查询的逻辑和物理执
2023-06-04

编程热搜

目录