(转载)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 4.1.12安装篇
[相关软件下载:]
Mysql 4.1.12-win32 -
For Windows ( Mysql 4.1.12-win32.exe ) -- 数据库服务
下载地址:
http://cdgwbn.downloadsky.com:8080/down/mysql-4.1.12-win32.zip
Connector/ODBC
- MySQL ODBC driver ( MyODBC-3.51.11-1-win.exe ) -- 数据源
下载地址:
http://down.21sun.ne ......
一、创建用户的命令
mysql> create user 'username'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.06 sec)
二、给新加用户授予权限
mysql> grant all privileges on test.* to 'username'@'localhost';
Query OK, 0 rows affected (0.00 sec)
说明:这条命令授予 username 对数据库 te ......
关于MySQL表设计应该注意的问题
转自 http://blog.chinaunix.net/u/29134/showart_1316574.html
1、慎重选择表名。
有两种选择:
按照多数开发语言的命名规则。比如(myCustomer)。
按照多数开源思想命名规则。比如(my_customer)。
按照咱们中国人的思想。比如(我的客户)。
第一种有个缺点,很容易忘掉大写的字 ......