`
dulinanaaa
  • 浏览: 14980 次
文章分类
社区版块
存档分类
最新评论

mysql union all与子查询结合效率对比

 
阅读更多
SELECT * FROM baidu_day_2014_1 WHERE account = 'xxx'
UNION ALL
SELECT * FROM baidu_day_2014_2 WHERE account = 'xxx'
UNION ALL
SELECT * FROM baidu_day_2014_3 WHERE account = 'xxx'
UNION ALL
SELECT * FROM baidu_day_2014_4 WHERE account = 'xxx'

SELECT * FROM (
SELECT * FROM baidu_day_2014_1
UNION ALL
SELECT * FROM baidu_day_2014_2
UNION ALL
SELECT * FROM baidu_day_2014_3
UNION ALL

SELECT * FROM baidu_day_2014_4) t WHERE t.account = 'xxx'


总结:第二个sql效率太低了,都下班了还没查完呢,建议第一种写法

分享到:
评论

相关推荐

    MySQL中使用or、in与union all在查询命令下的效率对比

    但是,当`UNION ALL`涉及到多个`SELECT`时,每个子查询都会被独立处理,这可能导致多次扫描索引或者全表扫描。在上述例子中,当`first_name`列有索引时,`UNION ALL`的执行计划显示了两次`ref`,这表示对索引进行了...

    MySQL如何使用union all获得并集排序

    我们为每个状态创建一个子查询,每个子查询内部先按状态内的排序规则进行排序,然后再通过`UNION ALL`将它们合并。最后,整个结果集会按照我们的需求排序。 以下是具体实现的SQL语句: ```sql SELECT PROMOTE_ID,...

    两种mysql递归tree查询效率-mysql递归tree

    本文旨在通过对比两种不同的MySQL递归树查询方式,分析它们的效率差异,帮助开发者选择更适合实际应用场景的方法。 #### 二、环境准备 为了确保测试结果的准确性,首先需要对MySQL数据库进行一定的配置调整: 1. ...

    MySQL的or、in、union与索引优化

    ### MySQL的or、in、union与索引优化 在数据库查询优化中,索引的使用至关重要,它能显著提升查询速度。本文将基于一个具体的业务场景来探讨在MySQL中使用`union all`、`in`、`or`以及负向查询(如`!=`)时如何有效...

    mysql多条件查询

    本文将详细介绍MySQL中的多条件查询技术,包括子查询、多表查询等重要知识点,旨在帮助读者更好地理解和掌握这些实用技巧。 #### 二、子查询概述 子查询是在一个SQL查询内部嵌套另一个SQL查询的情况。它是一种非常...

    MySql基本查询、连接查询、子查询、正则表达查询讲解

    5、子查询 6、合并查询结果 7、为表和字段取别名 8、使用正则表达式查询 什么是查询? 怎么查的? 数据的准备如下: [sql] view plain copy create table STUDENT( STU_ID int primary KEY, STU_NAME char(10) ...

    数据库系统及原理及MYSQL应用教程多表连接和子查询实验报告

    5. **IN和ANY/ALL子查询**: - **IN**:查找符合指定列表中的值的记录,如查找修过特定课程的学生。 - **ANY**:如果子查询返回任何一行记录,ANY表达式为真,用于比较单个值与一组值中的任何值。 - **ALL**:ALL...

    MySql数据库中的子查询与高级应用浅析

    另外,对于多列子查询,可以尝试使用`UNION ALL`替代多个单列子查询,以减少查询次数。 总的来说,MySQL中的子查询是实现复杂查询和数据操作的关键技术,理解并熟练掌握它们能极大地提升数据库管理的效率。在实际...

    设计高效合理的MySQL查询语句

    此外,编写高效的SQL语句还包括避免使用子查询,尽可能利用JOIN操作,以及在WHERE子句中使用索引字段。避免全表扫描,使用覆盖索引(covering index)可以让查询仅从索引中获取所需数据,而无需回表。对于多表查询,...

    Mysql数据库性能优化之子查询

    8. **使用UNION ALL代替UNION**:如果子查询的结果不需去重,使用UNION ALL通常更快,因为它不需要额外的排序和去重步骤。 总的来说,子查询并非绝对的性能杀手,而是工具箱中的一个重要工具。理解其工作原理,结合...

    MySql高级Sql查询

    例如,你可以用子查询来找出某个字段的最大值,然后在主查询中找到所有与此最大值相等的记录。 3. **聚合函数**:如COUNT(), SUM(), AVG(), MAX()和MIN(),这些函数用于对一组值进行统计计算。例如,COUNT()可以...

    sql 查询结果合并union all用法_数据库技巧

    当你需要对合并后的结果进行排序时,可以将合并后的结果作为一个临时表(使用子查询)进行排序。例如: ``` SELECT * FROM ( SELECT * FROM A UNION ALL SELECT * FROM B ) AS T ORDER BY column_name; ```...

    mysql基本常用操作

    5. **复杂嵌套查询**:多表之间的嵌套查询常使用 `IN` 或其他比较运算符与子查询结合。例如,`SELECT * FROM table1 WHERE column IN (SELECT column FROM table2 WHERE condition)`,这里 `table1` 和 `table2` ...

    对MySQL子查询的简单改写优化

    5. **使用UNION ALL替代UNION**:如果子查询结果不关心重复,使用UNION ALL通常比UNION更快,因为不需要去除重复项。 6. **预计算并存储结果**:对于复杂的子查询结果,可以考虑预先计算并存储在单独的表或缓存中,...

    MySQL海量数据查询优化策略.

    12. 优化子查询:在可能的情况下,尽量将子查询转换为JOIN操作,因为JOIN往往比子查询在性能上更优。 13. 插入数据时使用SELECT INTO:可以用来创建新表,并将数据一次性插入新表中,这是一个高效的数据复制和迁移...

    Explain-MySQL.doc#资源达人分享计划#

    - union: UNION语句的第二个或后续子查询。 - dependent union: 依赖于外部查询的UNION子查询。 - union result: UNION操作的结果。 - subquery: 子查询中的第一个SELECT。 - dependent subquery: 依赖于外部...

    MySQL多表查询

    在MySQL中,可以使用`UNION`和`UNION ALL`关键字来实现这一功能。 - **UNION**:删除重复行。 - **UNION ALL**:保留所有行,包括重复行。 示例: ```sql SELECT id, name, pwd FROM tb_demo067 UNION SELECT uid,...

Global site tag (gtag.js) - Google Analytics