关于 数据库  or   的用法,就不说了     讲讲OR对数据库性能有多大的杀伤力,以后线上的项目如果是数据量很大的表,一定不要用OR来查询

今天在工作的时候,同事遇到了SQL优化的问题,让我帮忙看看,之后一个长达16秒的查询,优化到不到一秒!

SQL: 

用时:五秒    

我检查一下   JK_Customer  这张表的数据, 有三百多万条数据    还好

主键是肯定有索引的    想查询快的话,加索引呗

加索引后: 情况没有变化   

这情况就很明显了,OR这个玩意儿  破坏了我的索引:我来试试分开查询

瞬间完成,OK 。。

事实证明了,OR破坏了的我的索引  导致查询变慢了

那么我们就不要怕麻烦  用UNION ALL来代替我们的OR

总结: or会破坏索引

如果A表很大的情况下,应改成:

SQL 一个【OR】属性给你带来了怎样的麻烦的更多相关文章

  1. sql一个表中两个字段合并求和

    sql一个表中两个字段,合并求和 SELECT SUM(字段a+'.'+字段b) as total  from TABLE

  2. 【WPF】如何把一个枚举属性绑定到多个RadioButton

    一.说明 很多时候,我们要把一个枚举的属性的绑定到一组RadioButton上.大家都知道是使用IValueConverter来做,但到底怎么做才好? 而且多个RadioButton的Checked和 ...

  3. Phaser中很多对象都有一个anchor属性

    游戏要用到的一些图片.声音等资源都需要提前加载,有时候如果资源很多,就有必要做一个资源加载进度的页面,提高用户等待的耐心.这里我们用一个state来实现它,命名为preload. 因为资源加载进度条需 ...

  4. JS判断浏览器是否支持某一个CSS3属性

    1.引子 css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候.比如transition的ani ...

  5. 遇到delphi连接sql一个奇怪的问题:未指定的错误,加大了命令的等待时间为600即可了

    遇到delphi连接sql一个奇怪的问题:未指定的错误,加大了命令的等待时间为600即可了 找了一下午没解决.

  6. Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。

    Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象. 语法EDIT Object.defineProperty(obj, ...

  7. js实现双向链表, 双向链表需要增加一个previous属性

    双向链表, 双向链表需要增加一个previous属性 /*双向链表 * */ function Node(element) { this.element = element; this.next = ...

  8. js 获取任意一个元素的任意一个样式属性的值

    //谷歌,火狐支持console.log(window.getComputedStyle(my$("dv"),null).left);//IE8支持console.log(my$( ...

  9. 判断浏览器是否支持某一个CSS3属性

    判断浏览器是否支持某一个CSS3属性 function supportCss3(style) { var prefix = ['webkit', 'Moz', 'ms', 'o'], i, humpS ...

随机推荐

  1. 7.Python列表

    .button, #logout { color: #333; background-color: #fff; border-color: #ccc; } span#login_widget > ...

  2. 关于Business Terminology,你需要了解的三件事

    严格意义上来说,商科论文形式的考核,主观因素会有很大的影响.这也是为什么雅思考试中,口语和写作的分数很少有出现满分的原因.除开硬性标准外(如行文逻辑,扣题准确度以及文献资料准确引用等),商科高分论文都 ...

  3. Spring 事件(2)- 自定义事件

    Spring 系列教程 Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of ...

  4. python爬取网页文本、图片

    从网页爬取文本信息: eg:从http://computer.swu.edu.cn/s/computer/kxyj2xsky/中爬取讲座信息(讲座时间和讲座名称) 注:如果要爬取的内容是多页的话,网址 ...

  5. ES6 新特性(笔记)

    1.定义变量     let         a).块作用域 , 不同于var的函数作用域         b).不可以重复定义同一个变量名           注:              {} ...

  6. 修改element-ui里table中悬浮框中三角号的颜色及透明度设置

    .el-tooltip__popper,.el-tooltip__popper.is-dark{background:rgba(0,0,0,0.6) !important;} .el-tooltip_ ...

  7. c++ auto_ptr笔记

    1.auto_ptr 不可以使用指针惯用的赋值初始化方式,只能直接初始化. 示例:  char *p = 'A';//error  auto_ptr<char>ptr = new char ...

  8. 14 —— npm —— 基本使用 ——初始化项目

    概念:类似积木,可以组装成各种应用 node 的强大之处 : 可以随意使用这些组件 一,npm 是什么: nodejs 自带的包(模块)管理工具 二,查看 npm 的所有选项 三,查看各个选项的具体作 ...

  9. java获取键盘事件

    转 <script type="text/javascript" language=JavaScript charset="UTF-8"> docu ...

  10. 使用Redux管理React数据流要点浅析

    在图中,使用Redux管理React数据流的过程如图所示,Store作为唯一的state树,管理所有组件的state.组件所有的行为通过Actions来触发,然后Action更新Store中的stat ...