码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server基础优化

时间:2019-01-28 01:27:40      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:查找   条件   过滤   基础上   允许   运算   逻辑   str   类型   

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值的;

SQL Server基础优化

标签:查找   条件   过滤   基础上   允许   运算   逻辑   str   类型   

原文地址:https://www.cnblogs.com/xiaoerduo/p/10327922.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!