美文网首页
SQL Server基础优化

SQL Server基础优化

作者: 小耳朵_c199 | 来源:发表于2019-01-21 14:43 被阅读0次

1.只查询有用的数据

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

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

考虑使用top;

考虑使用分页;

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

2.避免重复的SQL操作

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

3.建议使用别名

多表链接,使用别名,提高解析速度,避免列名歧义引发的语法错误;

即便不命名别名,SQLServer也会给它一个别名,所以手动显示命名可以提高解析速度;

4.禁用隐式转化

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

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

5.union all 优于 union

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

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

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

union有默认排序;

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

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

6.Like操作符

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

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

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

8.批量执行SQL

批量插入数据时,为了减少与数据库交互测试,可以每句sql后面加";";

最前加"begin",最尾加"end";

9.空、空格、null

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

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

----------------------------------------分割线----------------------------

10.行转列,列转行

1)PIVOT函数,行转列

PIVOT(<聚合函数>([聚合列值])FOR[行转列前的列名]IN([行转列后的列名1],[行转列后的列名2],[行转列后的列名3],.......[行转列后的列名N]));

例子

2)UNPIVOT函数,列转行

UNPIVOT([转换为行的列值在转换后对应的列名]for[转换为行的列名在转换后对应的列名]in([转换为行的列1],[转换为行的列2],[转换为行的列3],...[转换为行的列N]));

11.分页 OFFSET FETCH NEXT

ORDER BY a.TransDate DESC OFFSET $SkipCount$ ROWS FETCH NEXT $PageSize$ ROWS ONLY

相关文章

  • SQL Server基础优化

    1.只查询有用的数据 横向来看,不要返回自己不需要的列,尽量不要使用select *; 纵向来看,不要返回自己不需...

  • SQL Server数据库高级进阶之索引优化实战演练

    一、SQL Server索引优化本质 二、SQL Server索引存储机制 三、SQL Server索引类型分类 ...

  • .NET开发相关技术

    Sql Server基础知识 查询 存储过程 触发器 视图 事务 锁(多用户并发操作) 性能优化 索引 c#基础加...

  • 数据库查询优化器

      所谓查询优化,目标是关系数据库下或者 newSQL 的 SQL Server 层对 SQL 语句进行优化,在不...

  • SQL语句大全

    SQL语句参考,包含Access、MySQL 以及 SQL Server 基础 创建数据库 CREATE DATA...

  • SQL Server 数据库设计之详解(精华收藏篇)

    1. 数据基本内容及介绍 对于SQL Server基础,我们已经学习了SQL Server的相关概念和基本操作,包...

  • SQL Server on Ubuntu

    安装SQL Server(Install SQL Server) 1. 安装SQL Server 官网安...

  • SQL server编程基础

    1.定义一个整型变量age,对该变量赋值(分别使用select语句和set语句),然后显示该变量值。 2.编写程序...

  • MySQL优化小结

    数据库的配置是基础、SQL优化最重要(贯穿始终,每日必做),由图可知,越往上优化的面越小,最基本的SQL优化是最重...

  • SQL

    SQL Server Management Studio SQL Server Management Studio...

网友评论

      本文标题:SQL Server基础优化

      本文链接:https://www.haomeiwen.com/subject/jrfcjqtx.html