zoukankan      html  css  js  c++  java
  • 常用的SQL调优

    1. 不要使用 select * ,使用select *的话会增加解析的时间,另外会把不需要的数据也给查询出来,数据传输也是耗费时间的。

    2.  避免在 where 子句中使用 or 来连接条件,可以使用 UNION ALL,并且避免使用UNION

      UNION 因为会将各查询子集的记录做比较,故比起UNION ALL ,通常速度都会慢上许多。

      一般来说,如果使用UNION ALL能满足要求的话,务必使用UNION ALL。还有一种情况,如果业务上能够确保不会出现重复记录。

    3. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

    4. 避免在索引列上做如下操作

    1. 避免在索引字段上使用<>,!=;
    2. 避免在索引列上使用 IS NULL 和 IS NOT NULL;
    3. 避免在索引列上出现数据类型转换(比如某字段是String类型,参数传入时是int类型);
    4. 避免在 where 子句中使用 or 来连接条件;
    5. 避免在 where 子句中对字段进行表达式操作;
    6. 避免在 where 子句中对字段进行函数操作;
    7. 避免在in 和 not in 的使用;
    8. 避免在模糊匹配以%开头;

      当在索引列上使用如上操作时,索引将会失效,造成全表扫描。

     

  • 相关阅读:
    c# 泛型总结
    透过字节码分析java基本类型数组的内存分配方式。
    c#索引器
    redis在asp.net 中的应用
    Unity3D shaderLab
    Unity3d Asset Store 打不开
    C# 类型转换的开销
    [转]权重算法
    Coroutine的原理以及实现
    在Unity3D里使用WinForm
  • 原文地址:https://www.cnblogs.com/virgosnail/p/9674631.html
Copyright © 2011-2022 走看看