实践出真知!

使用union连接

select `id` from `表名` where 0=0 and active=1 and `fullname` like '王%' union
select `id` from `表名` where 0=0 and active=1 and `username` like '王%' union
select `id` from `表名` where 0=0 and active=1 and `mobile` like '王%' union
select `id` from `表名` where 0=0 and active=1 and `citizen_id_number` like '王%'
 
使用or
select `id` from `表名` where 0=0 and active=1
and `fullname` like '王%'
or `username` like '王%'
or `mobile` like '王%'
or `citizen_id_number` like '王%'
 
上面两种查询都能够用上索引,且数据库表中有500万条数据的情况下:
如果查询结果数据少的情况下,两种查询时间上差不多,0.006和0.005的区别,
但是当查询结果数据量多时,union查询时间16秒,or查询时间0.05秒。
因为union需要扫描4遍表,再把结果结合在一起。
 
但是不知道下面这个度娘的说法是为什么?留待以后验证。!
2019/07/08 17:17 验证

mysql的union和or的更多相关文章

  1. 【转】mysql的union、left join、 right join、 inner join和视图学习

    1.联合 union 进行多个查询语句时,要求多次查询的结果列数必须一样.此时,查询的结果以第一个sql语句的列名为准且union会自动去重复我们应该使用union all. 例...... 1.联合 ...

  2. MySQL中union和order by一起使用的方法

    MySQL中union和order by是可以一起使用的,但是在使用中需要注意一些小问题,下面通过例子来说明.首先看下面的t1表. 1.如果直接用如下sql语句是会报错:Incorrect usage ...

  3. Mysql的union

    我同事写了一条Sql语句,当时没看明白,下面晒出来: SELECT SUM(new_cart) AS ipv, AS iuv FROM tablename WHERE id = 5 ) as t OR ...

  4. 阳性比例 mysql CASE UNION ALL

    阳性比例 mysql CASE UNION ALL SELECT t.*,t.type_0/all_ FROM ( SELECT FROM_UNIXTIME(create_time,'%Y-%m-%d ...

  5. MYSQL之union和order by分析([Err] 1221 - Incorrect usage of UNION and ORDER BY)

    我在一个业务中采用了按月的分表策略,当查询的条件跨月的时候,使用了union all汇总2个表的数据,并按插入时间倒序排列.查询并不复杂,但是当执行的时候却报错了. SELECT * FROM `ta ...

  6. Mysql中Union和OR性能对比

    博客已搬家,更多内容查看https://liangyongrui.github.io/ Mysql中Union和OR性能对比 在leetcode上看到一篇文章,整理一下 参考:https://leet ...

  7. MySQL使用Union创建视图报错

    mysql> select * from test_main; +----+-------+ | id | value | +----+-------+ |  1 | ONE   | |  2  ...

  8. MySQL中UNION和UNION ALL的使用

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

  9. mysql中UNION ALL用法

    MYSQL中的UNION UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果. 举例说明: select * from table1 u ...

  10. Mysql下Union注入Bypass安全狗过程

    文章转载于:http://www.0aa.me/index.php/archives/95/ 一次众测发现个注入,然后有安全狗就顺带看了下安全狗. 先fuzz看看安全狗拦截什么关键词union sel ...

随机推荐

  1. corssplatform---NodeJS基础

    什么是NodeJS JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需要独立运行的JS,NodeJS就是一个解析器. 每一种解析器都是一 ...

  2. OnNavigatedTo 和 Loaded 的比较

    直接上结果: OnNavigateTo :是在导航完成,在控件或者页面加载前(之间)调用. Loaded :是在页面准备好并且在控件加载完成后调用. 参考资料: 1.https://stackover ...

  3. jupyter_远程安装&问题

    安装: https://jupyter.readthedocs.io/en/latest/install.html#install 配置 Ubuntu 16.04 LTS 配置 Jupyter not ...

  4. CF 455A(Boredom-dp)

    A. Boredom time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  5. 搭建本地yum源和局域网yum源

    搭建本地yum源和局域网yum源 由于很多客户环境是专网,不允许连网,无法使用网上的各种yum源,来回拷贝rpm包安装麻烦,还得解决依赖问题.所以想着搭建个本地/局域网YUM源,方便安装软件. 1   ...

  6. delphi获取dll的函数列表

    找了几个,终于找到一个好用的 function GetDLLFileExports( szFileName: PChar;  mStrings: TStrings): Boolean;var  hFi ...

  7. 海洋cms自带资源发布api插件和第三方资源站接入办法说明

    海洋cms自带资源发布api插件和第三方资源站接入办法说明 时间:2016-07-15 13:46 来源:CMS模版网 作者:大宇 阅读:7095次 ===海洋cms自带API资源发布插件说明===* ...

  8. 在 __CC_ARM 编译器环境下,使用$Sub$$ 与 $Super$$ 的“补丁”功能

    $Sub$$ 与 $Super$$ 的“补丁”功能(详见 ARM® Compiler v5.06 for µVision® armlink User Guide): 这是一种特殊模式:用于有一个已经存 ...

  9. 随机森林分类器(Random Forest)

    阅读目录 1 什么是随机森林? 2 随机森林的特点 3 随机森林的相关基础知识 4 随机森林的生成 5 袋外错误率(oob error) 6 随机森林工作原理解释的一个简单例子 7 随机森林的Pyth ...

  10. AndroidStudio下的依赖管理

    在开发中用第三方库是很常见的事,如何在AndroidStudio下管理这些依赖呢?这就是这篇文章的目的. 目录 Maven/Ivy仓库依赖 Module依赖 aar文件依赖 jar文件依赖 例子完整代 ...