zoukankan      html  css  js  c++  java
  • SQL性能学习汇总 00

     1 1.在一条语句中不要重复使用相同的函数
     2 2.尽可能在存储过程中使用临时变量和临时表
     3IF (Object_ID('tempdb..#T') IS NOT NULL) DROP TABLE #T
     4           SELECTINTO #T FROM 5        DROP TABLE #T ;
     6 3.当用SELECT INTO时,它会锁住系统表(SYSOBJECTS,SYSINDEXES等等),
     7 阻碍其他连接的存取。所以在创建临时表时应该用显示申明语句,
     8 即不在事务内使用SELECT INTO语句。
     9         select into  #T  .......
    10         Begin tran
    11           update  #T .......
    12         end  tran
    13 4.存储过程中涉及更改数据时一定要使用try  catch  事务  回滚等
    14 5.SELECT子句中避免使用'*'   尽可能的写出需要查询的字段名
    15 6.条件中尽量少用否定类型的运算符,条件中尽量少用
    16 '<>', '!=''NOT IN', 'NOT EXISTS''NOT LIKE'等否定类型的运算符,
    17 因为它们不走索引全是表扫描  效率高低比较EXISTS > IN > NOT EXISTS > NOT IN,
    18 所以可用EXISTS代替IN的使用, NOT EXISTS或(OUTER JOIN)代替NOT IN的使用。
    19 7.在WHERE条件中IN后的值排序为先繁后少,减少判断次数
    20 8.避免在索引列上使用IS NULLIS NOT NULL。NULL条件将使该索引无法作用。
    21 9.尽可能不在条件中使用函数
    22 10.用'>=''<='替代'>','<' 
    23     示例(不推荐)
    24         SELECT EmpNO 
    25         FROM  EMP 
    26         WHERE DeptNO > 3;
    27     示例(推荐)
    28         SELECT  EmpNO 
    29         FROM  EMP 
    30         WHERE DeptNO >= 4;  
    31         两者区别在于,前者DBMS将直接跳到Dept等于4的记录而后者将首先定位
    32         到DeptNO = 3的记录再向前扫描到第一个Dept大于3的记录
    33 11.UNION代替OR的使用
    34 12.TOP + 数值 替代 TOP + 百分比 的使用
    35 13.尽量使用精准查询
    36     在LIKE语句中,若能确定使用LIKE'a%'则不用LIKE'%a'或LIKE'%a%'
    37     因为前者能用上索引,而后两者则不能。
    38     且LIKE'%a%'查询时的耗时和字段值总长度成正比,
    39     所以用VARCHAR比用CHAR类型较高效。
    40     如果能精准查询则坚决不能采用模糊查询。
    41 14.条件允许时UNION ALL替代UNION的使用
    42 15.没有必要时不用DISTINCT和ORDER BY
    43     DISTINCT和ORDER BY这些动作可以改在客户端执行。
    44     它们增加了额外的开销。这同UNION和UNION ALL一样的道理
    45 16.使用批处理更新语句,一次更新多条记录比分多次更新而每次更新一条语句快。
  • 相关阅读:
    selenium===介绍
    工具安装===Sublime Text-安装
    Django===django工作流
    python基础=== itertools介绍(转载)
    python基础===如何优雅的写代码(转自网络)
    python基础===一道小学奥数题的解法
    python基础===列表类型的所有方法
    python基础===通过菲波那契数列,理解函数
    python基础===字符串切片
    安全测试===BurpSuite使用教程-附安装包
  • 原文地址:https://www.cnblogs.com/ciade/p/4788158.html
Copyright © 2011-2022 走看看