文档章节

mysql union

t
 tystys
发布于 2017/07/24 22:22
字数 274
阅读 5
收藏 1
点赞 0
评论 0

两种方式加速UNIONs 

1.用union all  而不是union(允许的话) 

UNION ALL is much faster than UNION

union 原理:

表一

[code]
blue
green
gray
black
[/code]

表二:

[code]
red
green
yellow
blue
[/code]

 UNION两表;

mysql首先会排序俩表数据到临时表;

 

[code]
black
blue
blue
gray
green
green
red
yellow
[/code]

然后去重

[code]
black
blue
gray
green
red
yellow
[/code]

See also: Mythical MySQL DBA – the talent drought.

 UNION ALL则是

[code]
blue
green
gray
black
red
green
yellow
blue
[/code]

不用排序|不用去重|

 .

2. Use Push-down Conditions to speedup UNION in MySQL

 表一

[code]
blue 2013
green 2013
green 2012
gray 2011
black 2009
black 2011
[/code]

表二

[code]
red 2012
red 2013
green 2011
yellow 2010
blue 2011
[/code]

查找2013年数据

[code]
(SELECT type, release FROM short_sleeve)
UNION
(SELECT type, release FROM long_sleeve);
WHERE release >=2013;
[/code]

See also: 5 More Things Deadly to Scalability and the original 5 Things Toxic to Scalability..

Here the WHERE clause works on this 11 record temp table:

[code]
black 2009
black 2011
blue 2011
blue 2013
gray 2011
green 2013
green 2012
green 2011
red 2012
red 2013
yellow 2010
[/code]

But it would be much faster to move the WHERE inside each subquery like this:

如果放进里面:速度会快很多

[code]
(SELECT type, release FROM short_sleeve WHERE release >=2013)
UNION
(SELECT type, release FROM long_sleeve WHERE release >=2013);
[/code]

 

© 著作权归作者所有

共有 人打赏支持
t
粉丝 2
博文 72
码字总数 82272
作品 0
MySQL UNION

在本教程中,我们将学习如何使用MySQL UNION操作符从多个SELECT语句将两个或多个结果集组合成一个结果集。 MySQL UNION操作符 MySQL UNION运算符允许您从多个表查询出来的两个或多个结果集组...

易百教程 ⋅ 2016/09/14 ⋅ 0

继续测试博客

1. 背景 全并查询结果是将多个 select 语句的查询结果合并到一起。 参与合并的结果集需要字段统一。 * 字段可以用空字符串''代替。 2. 合并查询结果实战 [ users1 and users2 ] * 查看 user...

zhangguis ⋅ 2017/07/10 ⋅ 0

继续测试博客

1. 背景 全并查询结果是将多个 select 语句的查询结果合并到一起。 参与合并的结果集需要字段统一。 * 字段可以用空字符串''代替。 2. 合并查询结果实战 [ users1 and users2 ] * 查看 user...

zhangguis ⋅ 2017/07/10 ⋅ 0

继续测试博客

1. 背景 全并查询结果是将多个 select 语句的查询结果合并到一起。 参与合并的结果集需要字段统一。 * 字段可以用空字符串''代替。 2. 合并查询结果实战 [ users1 and users2 ] * 查看 user...

zhangguis ⋅ 2017/07/10 ⋅ 0

MySQL中UNION和UNION ALL 详见

在MYSQL数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION ,UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会...

mn_1127 ⋅ 2013/12/10 ⋅ 0

mysql常用命令及SQL语句

UPDATE user0 SET phone=REPLACE(phone,'13800','14400') //把phone中的13800替换为14400 select id,birth from userview WHERE birth LIKE CONCAT('%',SUBSTR(DATEFORMAT(CURRENTDATE(),'%Y......

xiejunbo ⋅ 2014/12/14 ⋅ 0

MySQL中UNION和UNION ALL的区别

在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产...

华宰 ⋅ 2011/05/03 ⋅ 0

MySQL中UNION和UNION ALL的使用

在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。 MySQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产...

SibylY ⋅ 2013/11/18 ⋅ 0

mysql explain用法和结果的含义

//正文开始 重点是第二种用法,需要深入的了解。 先看一个例子: 加上extended后之后: 有必要解释一下这个长长的表格里每一列的含义: id SELECT识别符。这是SELECT的查询序列号 select_typ...

雾妄 ⋅ 2016/12/22 ⋅ 0

MySQL UNION && UNION ALL

MySQL UNION && UNION ALL http://blog.itpub.net/29254281/viewspace-1190027/ http://my.oschina.net/xinxingegeya/blog/225646 建立如下表, type 分别为偶数 或 奇数 的查询结构, 这两个......

秋风醉了 ⋅ 2015/07/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

阿里云云栖社区 ⋅ 今天 ⋅ 0

zabbix短信报警统计以及报表展示

一、需求 由于我们的业务报警比较频繁,之前是针对每个报警进行具体处理,但是有时还会重复出现,或者后续处理有时忘记跟进等,因此进行报警短信的统计,可以针对一些问题与业务跟进,明确后...

o翡翠谷o ⋅ 今天 ⋅ 0

JNI 输出LOG

1、导入log头文件。在你使用的 .c/ .cpp 文件中,导入 log.h 头文件。 #include<android/log.h> 2、在android.mk 加上 LOCAL_LDLIBS := -llog 或 LOCAL_SHARED_LIBRARIES := liblog 3、定义L......

国仔饼 ⋅ 今天 ⋅ 0

主线程pthread_exit 作用

#include <iostream>#include <pthread.h>#include <unistd.h>using namespace std;#define NUM_THREADS 10void* say_hello(void* args){ int i = *((int*)args);/......

xxdd ⋅ 今天 ⋅ 0

崛起于Springboot2.X之Mybatis-xml方式操作mysql数据库(3)

序言:当第一篇讲道Mybatis的时候,只要使用过mybatis的java程序员100%都会知道这种方式,因为这是最广泛最全面的编写sql操作mysql数据库的方式,高级sql的编写往往通过xml方式,接下来进入正...

木九天 ⋅ 今天 ⋅ 2

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

猫耳m ⋅ 今天 ⋅ 0

spring elasticsearch 2.4 date 日期

1.mappingPUT user_behavior { "mappings": { "user_behavior": { "properties": { "date": { "type": "createDate", ......

xiaomin0322 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部