位置: 编程技术 - 正文

SQL命令优化需要记住的9点事项(sql优化方式)

编辑:rootadmin

推荐整理分享SQL命令优化需要记住的9点事项(sql优化方式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql优化常用的15种方法,sql server sql优化,sql优化什么意思,sql优化口诀,sql优化的一般步骤,sql优化常用的15种方法,sql命令优化需要注意什么,sql优化in,内容如对您有帮助,希望把文章链接给更多的朋友!

与数据库交互的基本语言是sql,数据库每次解析和执行sql语句多需要执行很多步骤。以sql server为例,当数据库收到一条查询语句时,语法分析器会扫描sql语句并将其分成逻辑单元(如关键词、表达式、运算符和标识符)并生成查询树,最后查询优化器将分析所有可以访问数据库的源表的方法,从中选择一组返回结果集最快且消耗资源较少的步骤。查询树随即进行更新以准确记录这个步骤,接着交由数据库引擎开始执行,然后将查询结果返回给用户。可见数据库引擎每次执行sql命令都会有很大的开销,如果提交的sql质量不高甚至有逻辑错误就会造成无谓的开销和时间浪费。为了避免这种情况,在使用sql命令时应注意以下原则:

1、字段提取要按照“需多少、提多少”的原则,避免“select *”,尽量使用“select 字段1,字段2,字段3 ...”。实践证明,每少提取一个字段,数据库提取速度就会有相应的提升。提升的速度还要由你舍弃的字段大小来决定。

2、尽量使用exists代替select count(*) 来判断是否存在记录。优化器优化exists谓词时支持短路功能。只要找到一行,不需要再扫描其他行就可以确定该表是否包涵行了。count函数只有在统计表中所有行的行数时使用。

3、尽量使用(not) exists代替(not) in 操作,in的sql性能总是比较低的。

4、尽量使用not in,可以用left outer join代替它。

SQL命令优化需要记住的9点事项(sql优化方式)

5、尽量不要使用or,使用or会引起全表扫描,将大大降低查询效率

6、注意where子句的写法,必须考虑语句顺序,应该根据索引顺序、范围大小来确定条件子句的前后顺序,尽可能地让字段顺序与索引顺序一致,范围从大到小。

7、尽量使用“>=“,不用使用”>“

8、在编写sql语句之前了解表的索引结构。有效地利用索引能够避免不必要的全表扫描,缩短查询时间。应该避免在where子句中使用is null、<>、!=、not、 not exist、not in、not like等命令,他们通常会引起全表扫描导致索引无效。

9、在where 子句中,任何对列的操作(函数、计算等)讲导致索引失效,这些操作应该尽可能地移至等号右边,如where substring(id,1,1)=‘a‘,应该写成where id like 'a%‘;where result*> 应该写成where result >;

对sql命令进行优化的基本原则是尽量减少类型转换和计算,充分利用表索引,减少全表扫描的次数。

教你如何看懂SQL Server查询计划 对于SQLServer的优化来说,优化查询可能是很常见的事情。由于数据库的优化,本身也是一个涉及面比较的广的话题,因此本文只谈优化查询时如何看懂SQ

sql server 数据库备份还原的图文教程 MSSQL是微软公司的一款数据库管理系统,本文将详细介绍MSSQL中数据库的备份和还原功能。1、首先请保证您的备份文件是bak文件,并且备份文件能够

SqlServer中First_Value函数简单分析 First_Value返回结果集中某列第一条数据的值,跟TOP1效果一样,比较简单的一个函数先贴测试用代码DECLARE@TestDataTABLE(IDINTIDENTITY(1,1),DepartmentVARCHAR(),LastName

标签: sql优化方式

本文链接地址:https://www.jiuchutong.com/biancheng/319023.html 转载请保留说明!

上一篇:SqlServer提示“列前缀tempdb.无效: 未指定表名”问题解决方案(sql server列属性)

下一篇:教你如何看懂SQL Server查询计划(教你如何看懂标签)

  • 印花税申报是含税收入还是不含税收入
  • 申报个税时怎么获取个税专项附加扣除
  • 收到发票怎么写收据
  • 应发工资包含请年假吗
  • 个人对个人大额转账要什么资料
  • 待抵扣进项税额是什么意思
  • 个人独资企业有章程没有
  • 什么情况下要做试管怀孕
  • 负债表内容
  • 未经过他人同意贷款怎么处理
  • 取得保险赔偿的会计分录
  • 代收税款
  • 企业销售赠券的增值税如何处理
  • 汇兑损益在外币业务核算中有什么重要意义
  • 一般纳税人没有开票要交税吗
  • 单位收到增值税专用开票人写管理员
  • 车辆增值税抵扣多少点
  • 劳务派遣差额征税会计分录
  • 抽奖得奖
  • 1000元的打印机双十一满减可以减150吗少
  • 购买的烟酒怎么入账科目
  • 移动操作系统有哪些主要特点和功能
  • php怎么做网页
  • 若依框架是谁写的
  • enw是什么文件
  • 如何理解什么是社会制度
  • PHP:imagecolorexactalpha()的用法_GD库图像处理函数
  • wordpresscom
  • 享受所得税优惠情况说明
  • php curl 封装
  • 红字增值税发票怎么开具图解
  • php static变量
  • nfs4挂载
  • html不能运行
  • 小企业汇兑损失
  • 收费公路通行费补费平台
  • 固定资产有金额界定吗
  • 主营营业成本会计分录
  • discuzcms
  • mongodb exception: $concat only supports strings, not NumberInt32解决办法
  • python元数据
  • 累计盈余需要设置明细科目吗
  • 股权转让主要交什么税费
  • db2 798
  • mysql配置文件my.ini如何配置
  • 无形资产比如
  • 企业接受捐赠固定资产的运费怎么做账
  • 一般纳税人开出去的普票可以用进项抵扣吗
  • 固定资产的折余价值和账面价值如何确定
  • 如何调整去年的账
  • 为什么小规模不可以收专票
  • 金税盘未响应什么意思
  • 财务费用如何调到筹资费用
  • 收入红冲够是否红冲成本
  • 股东分红入什么科目利润分配~应付利润
  • sql企业管理器在哪里
  • CentOS 7.0.1406 正式版发布(附CentOS7下载地址)
  • 硬盘安装操作系统出现,两个操作系统怎么选择
  • 魔方u怎么弄
  • vrvedp_m.exe是什么进程
  • xwizard.exe是什么
  • win7系统点击桌面图标闪退
  • iptables添加规则立即生效
  • win7系统电脑蓝牙在哪里
  • Win10 Mobile Build 14269版截图曝光:脱胎换骨 速度飙升
  • 铁嘴下山全文免费阅读
  • c#程序代码大全
  • javascript抢票
  • perl 获取数据库查询结果
  • promise实例方法
  • base如何使用
  • Node.js中的事件循环是什么样的
  • 在javascript中
  • jquery正则表达式的用法
  • python 很简单
  • jquery 表单
  • 如何在网上开税票发票
  • 133平房子公摊36.88
  • 北京市地税局第一稽查局郭洪鑫
  • 农村信用社升级为什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设