MySQL中UNION和UNION ALL的区别

在数据库

中,UNION

和UNION

ALL

关键字都是将两个结果集合并为一个,但这两者从使用和效

率上来说都有所不同。

MySQL

的UNION

UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再

返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如:

select * from gc_dfys union select * from

ls_jg_dfys

这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,

最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。

MySQL

中的UNION ALL

而UNION

ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。

从效率上

说,UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:

select * from gc_dfys
union all select * from ls_jg_dfys
TAG:
mysql
MySQL
Mysql
UNION
ALL

相关文档:

一、连接MYSQL。

格式: mysql -h主机地址 -u用户名 -p用户密码

1、例1:连接到本机上的MYSQL。

首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

2、例2:� ......

Scale Out:横向扩展,增加处理节点提高整体处理能力

Scale Up:纵向扩展,通过提升单个节点的处理能力达到提升整体处理能力的目的

Replication

MySQL的replication是异步的,适用于对数据实时性要求不是特别关键的场景。slave端的IO线程负责从master读取日志,SQL线 程专门负责在slave端应用从master读过来的日志(早期 ......

要安装 MySQL,可以在终端提示符后运行下列命令:

sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install php5-mysql
// 安装php5-mysql 是将php和mysql连接起来

一旦安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行: ......

在[mysqld] 下添加参数如下

#错误日志输出路径(使用/作为分割而不是\)
log-error="your error-log path"
log="Your mysql log path"
log-show-queries="Your slowquery path"
#设定超时时间 此处设置为两秒
long_query_time=2
Ok save my.ini
next
#停止mysql 服务
net s ......