• 数据库查询条件优化方案


    前言

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

    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

  • 相关阅读:
    C#学习-多态
    C#学习-子类的初始化顺序
    C#学习-面向对象
    Python数据类型知识点全解
    python 复制图片到剪贴板
    pyperclip
    pyautogui
    多线程代码案例
    常用正则表达式最强整理(速查手册)
    python os
  • 原文地址:https://www.cnblogs.com/shuhao66666/p/15196323.html
Copyright © 2020-2023  润新知