我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何优化SQL语句

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何优化SQL语句

这篇文章主要介绍“如何优化SQL语句”,在日常操作中,相信很多人在如何优化SQL语句问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何优化SQL语句”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

 如何优化SQL语句

1、不查多余的列

查询过程中经常为了省事,而直接使用*来代替所有的列,好处是不需要写明列。坏处就是遇到列比较多的表查询效率就大大折扣了。例如:

SELECT * FROM [Sales].[SalesOrderDetail];

我们执行一下可以看到如下信息:

如何优化SQL语句

Q:上面的消息界面是怎么出来的呢?

A:点击菜单栏的查询——查询选项...——高级,将SET STATISTICS TIME和SET STATISTICS IO都勾选上就可以了

上面的相关信息我给大家解读一下:

扫描计数:索引或表扫描次数

逻辑读取:数据缓存中读取的页数

物理读取:从磁盘中读取的页数

预读:查询过程中,从磁盘放入缓存的页数

lob逻辑读取:从数据缓存中读取,image,text,ntext或大型数据的页数

lob物理读取:从磁盘中读取,image,text,ntext或大型数据的页数

lob预读:查询过程中,从磁盘放入缓存的image,text,ntext或大型数据的页数

语句的CPU时间分编译阶段和执行阶段。

CPU时间是指:执行语句的时间

占用时间是指:从磁盘读取数据再处理总的使用时间

编译阶段:

SQL Server 分析和编译时间:

执行阶段:

SQL Server 执行时间:

这些信息我们以后都会经常看到的,这是判断一个查询语句最直观的方式。

我们再单独查询一列看会怎么样?例如:

SELECT UnitPrice FROM [Sales].[SalesOrderDetail];

我们执行一下可以看到如下信息:

如何优化SQL语句

通过上面的时间对比我们就可以清楚的看到:将列名明确的列出,不显示不相关的列效率有很大的提升。

这里就是大家经常看到的一条优化建议:不要直接使用*进行查询,而只查询需要的列。

当然如果本身有需要查看全表内容,就不在此条优化之列了。

2、不查多余的行

  • 在查询的时候使用WHERE关键字可以很好的过滤掉不需要的行。这也是提高查询效率的一种方式,其实这才是WHERE关键字存在的意义。

例如:

SELECT UnitPrice FROM [Sales].[SalesOrderDetail] WHERE UnitPrice>1000;

我们执行一下可以看到如下信息:

如何优化SQL语句

所占用的时间成倍的减少,效果显而易见。

  • 使用DISTINCT关键字减少多余重复的行。

例如:

SELECT DISTINCT UnitPrice FROM [Sales].[SalesOrderDetail] WHERE UnitPrice>1000;

我们执行一下可以看到如下信息:

如何优化SQL语句

我们发现,在某些情况下DISTINCT也可以加快数据的查询效率。

到此,关于“如何优化SQL语句”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何优化SQL语句

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql的sql语句如何优化

要优化MySQL的SQL语句,可以采取以下几个方法:1. 使用索引:使用适当的索引可以大大提高查询性能。可以使用`EXPLAIN`命令来分析SQL语句的执行计划,以确定是否需要添加索引。2. 优化查询语句:避免使用`SELECT *`查询所
2023-09-27
2024-04-02

在MySQL中如何优化SQL语句

这篇文章主要介绍“在MySQL中如何优化SQL语句”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在MySQL中如何优化SQL语句”文章能帮助大家解决问题。1.概述在应用系统开发过程中,由于初期数据量
2023-06-29

sql语句查询慢如何优化

优化 SQL 查询性能的方法有很多,以下是一些常见的优化技巧:1. 索引优化:使用适当的索引可以大大提高查询性能。考虑创建索引以支持经常使用的 WHERE 子句、连接条件和排序/分组操作。2. 写出高效的查询:编写高效的 SQL 查询是提高
2023-09-27

sql语句执行过慢如何优化

优化 SQL 语句的执行速度可以采取以下几种方法:1. 索引优化:确保表的关键字段上创建了正确的索引,以加快查询速度。可以使用 EXPLAIN 关键字来查看 SQL 语句的执行计划,并根据执行计划来优化索引。2. 避免全表扫描:尽量避免在
2023-08-19

sql查询语句优化

sql查询语句优化1、对查询进行优化,应尽量避免全表扫描a、 where 及 order by 涉及的列上建立索引b、 尽量避免在 where 子句中对字段进行 null 值判断,可以将null值设置默认值0等,如:将select id from t wher
sql查询语句优化
2016-05-19

如何优化SQL语句的心得浅谈

我们要做到不但会写SQL,还要做到写出性能优良的SQL语句
2022-11-15

用case when优化Sql语句

用case when优化Sql语句 有些时候想直接从数据库查询数据,并导出,但一些类型或状态存储的是01等数字,你想显示对应的文字,这个时候就可以使用case...when语句了。结构case...when...then...when...the
用case when优化Sql语句
2020-06-19

编程热搜

目录