zoukankan      html  css  js  c++  java
  • SQL Server基础优化

    1.先过滤简单且能筛选大部分数据出去的条件;

    2.只查询有用的数据

    不返回自己不需要的列,尽量不要使用select *;

    不要返回自己不需要的行,尽量使用where条件来过滤自己需要的内容;

    考虑使用top;

    考虑使用分页;

    对于聚合查询,可以用having子句进行进一步的过滤;

    3.禁用隐式转化

    类型匹配,特别是字符型和数值型;

    varchar类型和nvarchar类型也是隐式转化,容易忽略;

    4.union all 优于 union

    列是相同的,包括列的类型、列的顺序、列的数量;

    区别:union是在union all的基础上,删除重复的记录;

    如果允许重复的记录或者查询除的数据本身没有重复记录,请使用union all;

    union有默认排序;

    UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果;

    UNION ALL只是简单的将两个结果合并后就返回;

    5.避免重复的SQL操作

    避免同一SQL语句多次执行,控制不必要的逻辑;

    6.Like操作符

    明确左侧内容时,左侧不应使用“%”通配;

    左侧使用“%”通配,不会执行索引查找,造成性能问题;

    7.避免对索引字段使用运算或者函数表达式

    8.空、空格、null

    ‘’‘与’ '相同,与null不同;

    ’<>'是查询不出null值的;

  • 相关阅读:
    JDK8 Optional类使用
    Kafka RocketMQ
    Dubbo,ElasticSearch,JVM,多线程/高并发,消息中间件 常问问题
    Redis
    java jvm 虚拟机
    25 岁做什么,可在 5 年后受益匪浅?
    设计模式
    并发与并行的理解
    多线程学习
    FireFox 如何在当前页面打开书签
  • 原文地址:https://www.cnblogs.com/xiaoerduo/p/10327922.html
Copyright © 2011-2022 走看看