前言

数据库中的很多查询都是可以优化的,本文记录了博主数据库用到的优化方案,希望能给大家提供一些思路。

1.使用instr代替like

instr函数也有三种情况:
a. instr(字段,'关键字') > 0    相当于 字段like '%关键字%':        表示在字符串中包含‘关键字’
b. instr(字段,'关键字') = 1    相当于 字段like '关键字%'            表示以‘关键字’开头的字符串
c. instr(字段,'关键字') = 0    相当于 字段not like '%关键字%'  表示在字符串中不包含‘关键字’

2.使用exists代替in

这个优化方案不是绝对的,如果子查询得出的结果集记录较少,主查询中的表较大且又有索引时应该用in, 反之如果外层的主查询记录较少,子查询中的表大,又有索引时使用exists

3.使用not exists代替not in

如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引;而not extsts 的子查询依然能用到表上的索引。所以无论那个表大,用not exists都比not in要快。

4.使用union all代替or

数据库查询条件优化方案相关推荐

  1. # Sql语句过长报错、查询慢优化方案探索

    Sql 过长查询报错.in过多.查询慢优化方案探索 目录 文章目录 Sql 过长查询报错.in过多.查询慢优化方案探索 目录 背景描述 解决方案 方案1(内存中过滤) 存在问题 方案2 In 查询的内 ...

  2. php多表查询性能优化,MSSQL_SQL Server多表查询优化方案集锦,SQL Server多表查询的优化方案是 - phpStudy...

    SQL Server多表查询优化方案集锦 SQL Server多表查询的优化方案是本文我们主要要介绍的内容,本文我们给出了优化方案和具体的优化实例,接下来就让我们一起来了解一下这部分内容. 1.执行路 ...

  3. mysql 模糊查询like优化方案(亲测)

    前言 本文的测试是基于740w条测试数据进行的,只讨论like模糊查询的优化方案.其他SQL优化可参考: SQL优化的几种方式 查询开头是"今天不开心"的聊天记录,是可以走索引的. ...

  4. 数据库查询性能优化之利器—索引(二)

    数据库查询性能优化之利器-索引(二) 在前面一篇文章中谈到适当地建立索引能够大幅度地提升SQL语句查询速度,然而并不是在什么情况下都适合建立索引,下面来谈一下什么情况下适合建立索引.建立什么样的索引以 ...

  5. mysql获取查询策略语句_MySQL数据库查询性能优化策略

    优化查询 使用Explain语句分析查询语句 Explain 用来分析 SELECT 查询语句,开发人员可以通过分析 Explain 结果来优化查询语句. 通过对查询语句的分析,可以了解查询语句的执行 ...

  6. php是根据html中的值查询数据条件_FleaPHP框架数据库查询条件($conditions)写法总结...

    本文实例讲述了FleaPHP框架数据库查询条件($conditions)写法.分享给大家供大家参考,具体如下: 在FleaPHP中,凡是用到数据库查询的函数,都需要查询条件参数$conditions, ...

  7. C# Access数据库查询条件LIKE

    Access数据库查询条件LIKE的通配符是*,不是%,但是在C#中使用的是%,只有在mdb文件中新建查询设计,进行sql查询时才使用* select * from A表 WHERE username ...

  8. Spring Batch并发加分区加集群读写数据库的完美优化方案 (下)

    今天我们会介绍如何使用Spring Batch的分片技术实现定时任务的集群处理. 背景介绍 本篇文章为上一篇文章Spring Batch并发加分区读取数据库的完美优化方案的续集,上一篇文章我们介绍了通 ...

  9. python 数据库查询条件‘不等于’

    python 数据库查询条件'不等于' 当在做数据库查询的时候,想根据业务需求进行条件的筛选或过滤, 但是django封装的数据库语句中没有 '不等于' 查询操作. 例如,通过以下语句进行'不等于查询 ...

  10. 数据库sql常见优化方案

    为什么要优化:      随着实际项目的启动,数据库经过一段时间的运行,最初的数据库设置,会与实际数据库运行性能 会有一些差异,这时我们就需要做一个优化调整. 数据库优化这个课题较大,可分为四大类: ...

最新文章

  1. 清华计算机与科学系考研,清华计算机科学与技术系考研怎么复习
  2. Android ProgressBar 反向进度条/进度条从右到左走
  3. 工业机器人 答案 韩建海_探秘沈阳高科技机器人产业,玩转辽宁科技馆体验感爆棚...
  4. UPS Online Tools(一) --- Tracking
  5. 浏览器安全防范,小程序类技术或许是更优的解决方式
  6. 医院微信公众号开发文档
  7. 羊群效应?redis解决方案
  8. win10无法装载重装系统iso文件_win10镜像不能安装系统如何解决_win10镜像无法安装处理方法...
  9. 35岁的程序员:第8章,魏建国
  10. 三个选择框,当前框选过之后的数据其他两个不能选择
  11. 产品交互设计入门书籍推荐(亲自看过)
  12. Can't connect to MySQL server on 'localhost'(10038)的解决方案
  13. O_APPEND的含义
  14. 电脑怎么设置定时关机?用这个方法就可以搞定
  15. 如何升级npm管理的各依赖版本
  16. 25辆无人车进校园 15分钟外卖到宿舍 它们什么来头?
  17. 2018/2019/2020/2021/2022/2023年度计划阅读书籍(持续更新)
  18. Qt编写视频播放器(vlc内核)
  19. java 剔除节假日_使用java 排除 两个日期段中的 休息日和节假日 。在线等待中十万火急,求大牛帮忙,多谢了。。。。...
  20. 【优化求解】基于matlab遗传算法求解仓库货位优化问题【含Matlab源码 022期】

热门文章

  1. python读pdf文件字体大小_如何使用python中的pyPDF2更改pdf文件中的字体
  2. HONOR荣耀50/荣耀50Pro怎么解锁huawei 荣耀50pro屏幕锁开机锁激活设备锁了应该如何强制解除鸿蒙系统刷机解锁方法流程步骤不开机跳过锁屏移除锁定进系统方法经验
  3. Android一键转发图片多张图片到微信,朋友圈功能实现
  4. python程序设计基础课后习题答案(电子版,可复制)
  5. HRTF音频3D定位技术
  6. matlab lu解线性方程,LU分解和求解线性方程组
  7. EQ一卡通踩过的坑,解决加载不到动态库,输出数据到led屏乱码问题
  8. 二维码生成器网站/解码网站
  9. 企业微信-通讯录管理-成员管理以及部门管理
  10. Android不发版也能在线修Bug?——AndFix 框架