当前位置: 首页 > news >正文

两个神奇的SQL语句

请大家一起来看两个SQL语句:

1.
 1 select   top   10  id  from  yp_41  where
 2 (
 3     (
 4         category  in
 5         (
 6              select  categorycode  from  all_keyword  where  keyword  like   ' %纸箱% '
 7         )
 8          and  region  like   ' 41% '   
 9     )
10      and  category  like   ' % '
11      or
12     (
13         category = ' 00000000 '   and   [ name ]   like   ' %纸箱% '   and  region  like   ' 41% '
14     )
15 )
16

2.
 1 select   count ( * from  yp_41  where
 2 (
 3     (
 4         category  in
 5         (
 6              select  categorycode  from  all_keyword  where  keyword  like   ' %纸箱% '
 7         )
 8          and  region  like   ' 41% '
 9     )
10      and  category  like   ' % '  
11      or
12     (
13         category = ' 00000000 '   and   [ name ]   like   ' %纸箱% '   and  region  like   ' 41% '
14     ) 
15 )
16

两个语句几乎完全一样,只是select子句的内容不同。运行的结果是,第一个语句需要2分多钟,而第二个语句只需要2秒钟左右。
请高人指点一下这是为什么?

以下是一些背景情况:
1 yp_41中的数据有300多万条;
2 all_keyword中的数据有1万多条;
3 所有在where中涉及的列都已加索引(虽然索引对于like好像没什么作用。如果不加索引,则两个SQL一样的慢。)

相关文章:

  • OPC客户端设计
  • 委托、Lambda表达式、事件系列07,使用EventHandler委托
  • 推荐一款 chrome SSH 插件 - Secure Shell
  • AngularJS中有关Directive的汇总
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • 复合格式化 AppendFormat 字符
  • BZOJ 2337 XOR和路径(高斯消元)
  • Adas术语简称
  • extern c 谈
  • 转载 一堂价值39万元的课,把她看完,你一定会有所获!
  • 关于centos联网的问题
  • 第二章 Java内存区域与内存溢出异常
  • java 用进程调用外部命令并获取返回结果
  • 购物狂欢节的背后,是谁在让你在吃土?
  • Hadoop之HDFS中NameNode的工作机制
  • 【Leetcode】104. 二叉树的最大深度
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Java 23种设计模式 之单例模式 7种实现方式
  • JAVA SE 6 GC调优笔记
  • Java 多线程编程之:notify 和 wait 用法
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • Spring Cloud Feign的两种使用姿势
  • vue:响应原理
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 彻底搞懂浏览器Event-loop
  • 番外篇1:在Windows环境下安装JDK
  • 老板让我十分钟上手nx-admin
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • #define用法
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (第二周)效能测试
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (一)UDP基本编程步骤
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • .bashrc在哪里,alias妙用
  • .NET CORE 2.0发布后没有 VIEWS视图页面文件
  • .net core 微服务_.NET Core 3.0中用 Code-First 方式创建 gRPC 服务与客户端
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 中创建支持集合初始化器的类型
  • .NET开发人员必知的八个网站
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • @Autowired @Resource @Qualifier的区别
  • [AutoSar]BSW_Memory_Stack_003 NVM与APP的显式和隐式同步
  • [BZOJ 4598][Sdoi2016]模式字符串
  • [c++] 自写 MyString 类
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
  • [CISCN2019 华东南赛区]Web4
  • [Contest20180313]灵大会议
  • [github全教程]github版本控制最全教学------- 大厂找工作面试必备!
  • [hdu 1247]Hat’s Words [Trie 图]
  • [Linux] 进程间通信基础
  • [Machine Learning] Learning with Noisy Labels