SQL语句的优化与性能调优

2020-08-04 09:50:33吴凯佳陈少琴李结映
数字技术与应用 2020年5期
关键词:优化

吴凯佳 陈少琴 李结映

摘要:在日常的工作中,或多或少会遇到一些较为复杂的sQL语句,当我们发现这些语句执行得慢时,总是会想办法对其修改,让它变得更快一些。本文探讨研究了sQL SER VER下SQL的语句调优方法。

关键词:sQL;优化;调优

中图分类号:TP311.1 文献标识码:A 文章编号:1007-9416(2020)05-0051-01

1背景

一般在应用中,糟糕的SQL语句是造成系统性能低下的最主要原因,例如大小写的不统一、同样的sQL语句不同的写法等。当业务数据量相对较少时,一些sQL的执行效率对程序运行效率的影响不太明显,随着数据量的增加,SQL的执行效率对程序的运行效率的影响逐渐增大,糟糕的sQL语句会使情况变得越来越严重,此时对sQL的优化就很有必要。

2SQL优化的一些方法

(1)通配符中Like的使用需注意,如select id,name fromusednfo where naille like%name%;或select id,name fromuserinfo where name like%name;該写法由于name前面用了“%”,会造成全表的扫描,效率低下,select id,name from userinfowhere name likename%;这样的的写法执行效率快很多。

(2)避免在Where子句中对字段进行函数操作,where子句‘一左边不要出现函数、算数运算或者其他表达式运算。如select id fromuserinfo where substring(name,l,6)=‘xiaomi;该语句对字段进行了函数处理,会导致查询分析器放弃了索引的使用。正确的写法应为select id from userinfo where name likexiaomi%。

(3)在子查询当中,尽量用exists代替in,如select name fromusennfo a where id in(select id from userinfo b);可以改为select naille from userinfo a where exists(select l from userinfob where id=a.id)。

(4)where子句中尽量不要使用iS null或iS not null对字段进行判断,例如:select id from userinfo where name iS null;尽量在数据库字段中不出现null,如果查询的时候条件为iS null,索引将不会被使用,造成查询效率低,因此数据库在设计的时候,尽可能将某个字段可能为空的时候设置默认值,那么查询的时候可以根据默认值进行查询,比如name字段设置为0,查询语句可以修改为se-lect id from userinfo where name=0。……

登录APP查看全文

猜你喜欢
优化
超限高层建筑结构设计与优化思考
房地产导刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目标优化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防烟排烟设计优化探讨
关于优化消防安全告知承诺的一些思考
一道优化题的几何解法
由“形”启“数”优化运算——以2021年解析几何高考题为例
围绕“地、业、人”优化产业扶贫
今日农业(2020年16期)2020-12-14 15:04:59
事业单位中固定资产会计处理的优化
消费导刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度优化 JVC DLA-X8 18 BC
几种常见的负载均衡算法的优化
电子制作(2017年20期)2017-04-26 06:57:45